J2UL-1719-03Z0(00)
2014年2月
Windows/Solaris/Linux
FUJITSU Software
Interstage Application Server/
Interstage Web Server Express
Interstage HTTP Server 2.2
運用ガイド
まえがき
本書の目的
本書は、Interstage HTTP Server 2.2の運用を行うために必要な環境設定、運用手順について説明しています。前提知識
本書を読む場合、以下の知識が必要です。・
使用するオペレーティングシステムに関する基本的な知識・
インターネットに関する基本的な知識・
Apache HTTP Serverに関する基本的な知識本書の構成
本書は、以下の構成になっています。 第1章 概要 Interstage HTTP Server 2.2の機能概要、および構成について説明します。 第2章 機能 Interstage HTTP Server 2.2の機能について説明します。 第3章 環境設定 Interstage HTTP Server 2.2の環境設定について説明します。 第4章 運用・保守 Interstage HTTP Server 2.2の運用・保守について説明します。 第5章 チューニング Interstage HTTP Server 2.2のチューニングについて説明します。 第6章 ディレクティブ一覧 Interstage HTTP Server 2.2の環境定義ファイルで設定するディレクティブについて説明します。 第7章 コマンド Interstage HTTP Server 2.2が提供するコマンドについて説明します。 第8章 メッセージ Interstage HTTP Server 2.2運用時に出力されるメッセージについて説明します。 第9章 トラブルシューティング Interstage HTTP Server 2.2運用中にトラブルが発生した場合の対処方法について説明します。第10章 Interstage HTTP Server 2.2(Apache HTTP Server Version 2.2ベース)への移行
Interstage HTTP Server 2.2(Apache HTTP Server Version 2.2ベース)への移行について説明します。
付録A 各種情報 Interstage HTTP Server 2.2の各種情報について説明します。 付録B 環境変数とサーバ変数 Interstage HTTP Server 2.2で使用している環境変数およびサーバ変数について説明します。 付録C URL書換えの設定方法 URL書換えの設定方法について説明します。
輸出許可
本ドキュメントを非居住者に提供する場合には、経済産業大臣の許可が必要となる場合がありますので、ご注意くださ い。
著作権
Copyright 2013-2014 FUJITSU LIMITED
2014年2月 第3版 2013年6月 初版
目 次
第1章 概要...1 1.1 機能概要...1 1.2 Webサーバのプロセス構成(Windows(R))...1 1.3 Webサーバのプロセス構成(Solaris/Linux)...3 第2章 機能...9 2.1 クライアントの同時接続数...9 2.2 HTML文書の取出し...9 2.3 認証とアクセス制御...10 2.3.1 ユーザ認証(基本認証)...11 2.3.2 IPアクセスコントロール...12 2.3.3 クライアント認証(証明書認証)...12 2.4 SSL...13 2.5 バーチャルホスト...14 2.6 URLの書換え...15 2.7 サーバステータスの監視機能...16 2.8 複数Webサーバ機能...22 2.9 コンテンツの圧縮機能...23 2.10 プロキシ機能...24 2.11 タイムアウト時間...25 2.12 その他の機能...26 第3章 環境設定...29 3.1 ホスト名の設定...29 3.2 公開用ルートディレクトリの設定...29 3.3 ポート番号とIPアドレスの設定...30 3.4 アクセスログの設定...31 3.5 エラーログの設定...36 3.6 トレースログの設定...40 3.7 ユーザ認証の設定...43 3.8 IPアクセスコントロールの設定...47 3.9 クライアント認証の設定...50 3.10 SSLの設定...53 3.10.1 Interstage証明書環境のSSL通信...54 3.10.2 SMEEコマンドで構築する証明書/鍵管理環境のSSL通信...59 3.11 バーチャルホストの設定...66 3.12 仮想ディレクトリの設定...70 3.13 リダイレクト機能の設定...70 3.14 リライト機能の設定...71 3.15 サーバステータス監視の設定...75 3.16 コンテンツの圧縮機能の設定...77 3.17 プロキシ機能の設定...78 3.18 ディレクトリリストの設定...80 3.19 デフォルトMIMEタイプの設定...81 3.20 MIMEタイプ定義の設定...81 3.21 デフォルトHTMLファイルの設定...81 3.22 HTTP Keep-Alive機能の設定...82 3.23 ユーザ追跡機能の設定...83 3.24 クッキーログの設定...83 3.25 通信プロセスに対する権限の設定...84 3.26 言語ベースのコンテンツネゴシエーション...85 3.27 メッセージのカスタマイズ...86 3.28 CGIプログラム実行許可の設定...87 3.29 ServletサービスのアプリケーションのURLに対するアクセス制御...89第4章 運用・保守...90 4.1 起動・停止...90 4.1.1 起動...90 4.1.2 停止...91 4.1.3 自動起動の設定...92 4.1.4 起動状態の確認...94 4.2 ログ...94 4.2.1 アクセスログ...95 4.2.2 エラーログ...97 4.2.3 トレースログ...98 4.3 複数Webサーバの運用...101 4.3.1 Webサーバ動作環境の作成...101 4.3.2 Webサーバ動作環境の削除...106 4.4 メンテナンス(資源のバックアップ/他サーバへの資源移行)...106 4.4.1 バックアップ/移出手順...107 4.4.2 リストア/移入手順...108 4.5 クラスタサービス...108 4.5.1 Interstage HTTP Server 2.2の自動起動設定の無効化...109 4.5.2 Interstage HTTP Server 2.2の環境設定...109 4.5.3 クラスタサービスの設定...109 4.5.4 クラスタシステムの動作確認...112 4.6 セキュリティ対策...112 4.7 IPv6通信...115 4.8 制限事項...115 4.9 注意事項...116 第5章 チューニング...119 5.1 運用時に必要なディスク容量...119 5.2 メモリ容量...119 5.3 運用時に必要なシステム資源(Solaris)...119 5.4 運用時に必要なシステム資源(Linux)...121 5.5 環境定義...123 5.5.1 環境定義ファイル(httpd.conf)...123 5.5.2 Webサーバ一覧ファイル(servers.conf)...124 第6章 ディレクティブ一覧...126 6.1 ディレクティブの注意事項...138 6.2 Interstage HTTP Server 2.2固有ディレクティブ...142 6.2.1 ISSsoBusinessSystemName...143 6.2.2 SSLCertExpand...144 6.2.3 SSLCertExpire...145 6.2.4 SSLCertName...147 6.2.5 SSLCipherSuite...147 6.2.6 SSLClCACertName...149 6.2.7 SSLConfName...150 6.2.8 SSLEnvDir...151 6.2.9 SSLExec...152 6.2.10 SSLHandshakeTimeout...152 6.2.11 SSLLIBMultiSession...153 6.2.12 SSLMaxSession...154 6.2.13 SSLNotifyVers...155 6.2.14 SSLSlotDir...155 6.2.15 SSLTokenLabel...156 6.2.16 SSLUserPINFile...157 6.2.17 SSLVerifyClient...157 6.2.18 SSLVersion...159 6.2.19 Trace...160
第7章 コマンド...163 7.1 ahsbackup...164 7.2 ahsrestore...166 7.3 ahsrlog...169 7.4 apachectl...174 7.5 htpasswd...175 7.6 httpd...177 7.7 ihsregistupin...179 第8章 メッセージ...181 8.1 メッセージの概要...181 8.1.1 出力形式...181 8.1.2 技術員連絡の前に...182 8.2 メッセージ番号がahs00000番台のメッセージ...182 8.2.1 ahs00001...182 8.2.2 ahs00002...182 8.2.3 ahs00004...183 8.2.4 ahs00005...183 8.2.5 ahs00006...183 8.2.6 ahs00008...183 8.2.7 ahs00009...184 8.2.8 ahs00010...184 8.2.9 ahs00011...185 8.2.10 ahs00012...185 8.2.11 ahs00013...185 8.2.12 ahs00014...186 8.2.13 ahs00015...186 8.2.14 ahs00016...186 8.2.15 ahs00017...187 8.2.16 ahs00018...187 8.2.17 ahs00019...188 8.2.18 ahs00020...189 8.2.19 ahs00021...189 8.2.20 ahs00022...189 8.2.21 ahs00023...190 8.2.22 ahs00024...190 8.2.23 ahs00025...191 8.2.24 ahs00026...191 8.2.25 ahs00028...192 8.2.26 ahs00029...192 8.2.27 ahs00030...192 8.2.28 ahs00031...193 8.2.29 ahs00032...193 8.2.30 ahs00033...193 8.2.31 ahs00034...194 8.2.32 ahs00035...194 8.2.33 ahs00036...195 8.2.34 ahs00037...195 8.2.35 ahs00038...195 8.2.36 ahs00040...196 8.2.37 ahs00041...196 8.2.38 ahs00042...197 8.2.39 ahs00043...197 8.2.40 ahs00044...197 8.2.41 ahs00045...198 8.3 メッセージ番号がahs00100番台のメッセージ...198 8.3.1 ahs00100...198
8.3.2 ahs00101...199 8.3.3 ahs00102...199 8.3.4 ahs00103...199 8.3.5 ahs00104...200 8.3.6 ahs00105...200 8.3.7 ahs00106...200 8.3.8 ahs00107...201 8.3.9 ahs00108...201 8.3.10 ahs00109...202 8.3.11 ahs00111...202 8.3.12 ahs00112...202 8.3.13 ahs00113...203 8.3.14 ahs00114...203 8.3.15 ahs00115...203 8.3.16 ahs00116...204 8.3.17 ahs00117...204 8.3.18 ahs00118...204 8.3.19 ahs00119...205 8.3.20 ahs00120...205 8.3.21 ahs00123...205 8.3.22 ahs00124...206 8.3.23 ahs00125...206 8.3.24 ahs00126...207 8.3.25 ahs00127...207 8.3.26 ahs00128...207 8.3.27 ahs00129...208 8.3.28 ahs00130...208 8.3.29 ahs00131...208 8.3.30 ahs00132...209 8.3.31 ahs00133...209 8.3.32 ahs00134...209 8.3.33 ahs00135...210 8.3.34 ahs00136...210 8.3.35 ahs00137...210 8.3.36 ahs00138...211 8.3.37 ahs00139...211 8.3.38 ahs00140...211 8.3.39 ahs00141...212 8.3.40 ahs00142...212 8.4 メッセージ番号がahs00200番台のメッセージ...212 8.4.1 ahs00200...212 8.4.2 ahs00201...213 8.4.3 ahs00202...213 8.4.4 ahs00203...213 8.4.5 ahs00204...214 8.4.6 ahs00205...214 8.4.7 ahs00206...214 8.4.8 ahs00207...214 8.4.9 ahs00208...215 8.4.10 ahs00209...215 8.4.11 ahs00210...215 8.4.12 ahs00213...216 8.4.13 ahs00214...216 8.4.14 ahs00215...217 8.4.15 ahs00216...217 8.4.16 ahs00217...217 8.4.17 ahs00219...218
8.4.18 ahs00221...218 8.4.19 ahs00222...219 8.4.20 ahs00223...219 8.4.21 ahs00224...219 8.4.22 ahs00227...220 8.4.23 ahs00228...220 8.4.24 ahs00229...221 8.4.25 ahs00230...221 8.4.26 ahs00231...221 8.4.27 ahs00232...222 8.4.28 ahs00233...222 8.4.29 ahs00234...222 8.4.30 ahs00235...223 8.4.31 ahs00236...223 8.4.32 ahs00237...223 8.4.33 ahs00238...224 8.4.34 ahs00239...224 8.4.35 ahs00240...224 8.4.36 ahs00241...225 8.4.37 ahs00242...225 8.4.38 ahs00243...225 8.4.39 ahs00244...226 8.4.40 ahs00245...226 8.5 メッセージ番号がahs00400番台のメッセージ...227 8.5.1 ahs00401...227 8.5.2 ahs00402...227 8.5.3 ahs00403...227 8.6 メッセージ番号がahs00500番台のメッセージ...228 8.6.1 ahs00500...228 8.6.2 ahs00501...229 8.6.3 ahs00502...229 8.6.4 ahs00503...230 8.6.5 ahs00504...230 8.6.6 ahs00505...231 8.6.7 ahs00506...232 8.6.8 ahs00507...232 8.6.9 ahs00508...233 8.6.10 ahs00509...233 8.6.11 ahs00510...233 8.6.12 ahs00511...234 8.6.13 ahs00512...234 8.6.14 ahs00513...235 8.6.15 ahs00514...235 8.6.16 ahs00515...236 8.6.17 ahs00516...236 8.6.18 ahs00517...237 8.6.19 ahs00518...237 8.6.20 ahs00519...238 8.6.21 ahs00520...238 8.6.22 ahs00521...239 8.6.23 ahs00522...239 8.6.24 ahs00523...240 8.6.25 ahs00524...240 8.6.26 ahs00525...240 8.6.27 ahs00526...241 8.6.28 ahs00527...241 8.6.29 ahs00528...241
8.6.30 ahs00529...242 8.6.31 ahs00530...242 8.6.32 ahs00531...242 8.6.33 ahs00532...243 8.6.34 ahs00534...243 8.6.35 ahs00535...244 8.6.36 ahs00536...244 8.6.37 ahs00537...245 8.6.38 ahs00538...245 8.6.39 ahs00539...245 8.6.40 ahs00540...246 8.6.41 ahs00599...246 8.7 メッセージ番号がahs70000番台のメッセージ...247 8.7.1 ahs70004...247 8.7.2 ahs70005...247 8.7.3 ahs70007...247 8.7.4 ahs70008...247 8.7.5 ahs70009...248 8.8 メッセージ番号がahs81000番台のメッセージ...248 8.8.1 ahs81001...248 8.8.2 ahs81002...248 8.8.3 ahs81003...249 8.9 メッセージ番号がahs81400番台のメッセージ...249 8.9.1 ahs81400...249 8.9.2 ahs81401...249 8.9.3 ahs81402...250 8.9.4 ahs81403...250 8.9.5 ahs81404...250 8.9.6 ahs81405...251 8.9.7 ahs81406...251 8.9.8 ahs81407...251 8.9.9 ahs81408...251 8.9.10 ahs81409...251 8.9.11 ahs81410...252 8.9.12 ahs81411...252 8.9.13 ahs81412...252 8.9.14 ahs81413...252 8.9.15 ahs81414...253 8.9.16 ahs81415...253 8.9.17 ahs81416...254 8.9.18 ahs81417...254 8.9.19 ahs81418...254 8.9.20 ahs81419...255 8.9.21 ahs81420...255 8.9.22 ahs81421...256 8.9.23 ahs81422...256 8.9.24 ahs81423...256 8.9.25 ahs81424...257 8.9.26 ahs81425...257 8.9.27 ahs81426...258 8.9.28 ahs81427...258 8.9.29 ahs81428...259 8.9.30 ahs81429...259 8.9.31 ahs81430...260 8.9.32 ahs81431...260 8.9.33 ahs81432...260 8.9.34 ahs81433...261
8.9.35 ahs81434...261 8.9.36 ahs81435...261 8.9.37 ahs81439...262 8.9.38 ahs81440...262 8.9.39 ahs81451...263 8.9.40 ahs81452...263 8.9.41 ahs81453...263 8.10 エラーログ...264 8.10.1 ログレベル「emerg」のメッセージ...264 8.10.2 ログレベル「alert」のメッセージ...267 8.10.3 ログレベル「crit」のメッセージ...274 8.10.4 ログレベル「error」のメッセージ...296 8.10.5 ログレベル「warn」のメッセージ...351 8.10.6 ログレベル「notice」のメッセージ...364 第9章 トラブルシューティング...370 9.1 Webサーバ起動/停止時の異常...370 9.2 Webサーバ運用時の異常...370 9.3 複数Webサーバ使用時の異常...373 9.4 クラスタサービス機能使用時の異常...375 9.5 よくある質問とその対処方法...375
第10章 Interstage HTTP Server 2.2(Apache HTTP Server Version 2.2ベース)への移行...378
付録A 各種情報...379 A.1 ログ情報...379 A.2 ポート番号...381 A.3 プロセス情報...382 A.4 メッセージ情報...383 A.4.1 イベントログ ...384 A.4.2 syslog ...384 付録B 環境変数とサーバ変数...386 付録C URL書換えの設定方法...395 C.1 関連ディレクティブ...405 C.1.1 RewriteCond...406 C.1.2 RewriteEngine...407 C.1.3 RewriteRule...408 索引...413
第
1
章
概要
Interstage HTTP Server 2.2が提供する機能の概要、および構成について説明します。
1.1
機能概要
Interstage HTTP Server 2.2は、Apache HTTP Server Version 2.2.22をベースとしたWebサーバです。
Apache HTTP Server Version 2.2.22で提供している基本機能に加えて、以下の機能についてサポートし、Webサーバに
おける様々な機能要求に対応しています。
・
SSL・
ログファイルのローテーション機能・
トレースログ・
クラスタサービス・
バックアップ・リストア参照
・
Interstage HTTP Server 2.2の主な機能については、「第2章 機能」を参照してください。・
Interstage HTTP Server 2.2の環境設定については、「第3章 環境設定」を参照してください。・
Interstage HTTP Server 2.2の運用方法については、「第4章 運用・保守」を参照してください。・
Interstage HTTP Server 2.2の環境定義ファイル(httpd.conf)で設定するディレクティブについては、「第6章 ディレク ティブ一覧」を参照してください。注意
Apache HTTP Server Version 2.2にて検出されたセキュリティホールで、Interstage HTTP Server 2.2に影響がある修正に
ついては、Apache HTTP Server Version 2.2.25まで対応しています。また、本製品出荷以降、セキュリティホール関連の 問題が発生した場合は、緊急修正にて随時対応していきます。 セキュリティホール関連の対応については、以下のサイトで提供している富士通製品のセキュリティ情報にて確認してく ださい。 http://software.fujitsu.com/jp/security/index.html
1.2 Web
サーバのプロセス構成
(Windows(R))
クライアントとの多重接続は、スレッド多重で実現しています。Interstage HTTP Server 2.2のプロセス構成、およびスレッド構成は、環境定義ファイル(httpd.conf)において以下のディ
レクティブを使用して設定します。
機能概要 ディレクティブ 初期値
クライアント同時接続数 ThreadsPerChild 50
上記のディレクティブの設定値とプロセス構成・スレッド構成の関係について以下に説明します。
・
Webサーバ起動時のプロセス構成・
最大多重動作・
デーモンプロセスが処理可能なリクエスト数■
Web
サーバ起動時のプロセス構成
Webサーバを起動すると、デーモンプロセスはThreadsPerChildディレクティブに設定した数の通信スレッドを生成します。 クライアントからのリクエストを受け付けたり、通信を切断したりした場合でも、通信スレッド数の増減はありません。 注)証明書監視デーモンスレッドは、SSL運用時、証明書の有効日数を通知する警告メッセージをWebサーバ運用中に 出力するように設定した場合に生成されます。警告メッセージの出力の有無は、SSLCertExpireディレクティブで設定しま す。■最大多重動作
クライアントとの同時接続数がThreadsPerChildディレクティブの設定値に達した場合、クライアントからの新しいリクエスト はWebサーバ内およびオペレーティングシステム内にキューイングされます。 Webサーバ内の接続待ちキュー数は、1(固定)です。オペレーティングシステム内の接続待ちキュー数は、ListenBacklog ディレクティブで最大数を設定します。■デーモンプロセスが処理可能なリクエスト数
デーモンプロセス生成後に受け付けるリクエストの合計がMaxRequestsPerChildディレクティブの設定値を超過した場合、 デーモンプロセスを再起動します。このとき、通信スレッドがクライアントに応答を返して通信を切断したあと、デーモンプ ロセスは自ら終了します。1.3 Webサーバのプロセス構成(Solaris/Linux)
クライアントとの多重接続はプロセス/スレッド多重で実現し、通信プロセス数を自動で拡張/縮退する機能を備えています。Interstage HTTP Server 2.2のプロセス構成は、環境定義ファイル(httpd.conf)において以下のディレクティブを使用して 設定します。 機能概要 ディレクティブ 初期値 Webサーバ起動時の通信プロセス数 StartServers 5 「MaxClients÷ThreadsPerChild(注1)」に設定可能な最大値 ServerLimit 50 クライアント同時接続数 MaxClients 50 待機状態の通信スレッド数の最小値 MinSpareThreads 5 待機状態の通信スレッド数の最大値 MaxSpareThreads 10 「ThreadsPerChild」に設定可能な最大値 ThreadLimit - (省略値: 25) 1つの通信プロセスにおける通信スレッド数 ThreadsPerChild 1 (注2)
機能概要 ディレクティブ 初期値 1つの通信プロセスが処理可能なリクエスト数 MaxRequestsPerChild 0 注1)通信プロセス数の上限です。剰余がある場合は、切り捨てられます。 注2)Webサーバコネクタと連携する場合は、必ず「1」を設定してください。「1」以外の値を設定した場合は、Webサーバ の動作を保証できません。
ポイント
上記のディレクティブの設定値は、以下の大小関係を参考にして、指定してください。 ThreadsPerChild、ThreadLimitの大小関係 ThreadsPerChild ≦ ThreadLimit StartServers、ServerLimit、MaxClients、ThreadsPerChildの大小関係StartServers ≦ ( MaxClients ÷ ThreadsPerChild ) ≦ ServerLimit
上記のディレクティブの設定値とプロセス構成の関係について以下に説明します。
・
Webサーバ起動時のプロセス構成・
通信プロセス数の拡張・
通信プロセス数の縮退・
最大多重動作・
1つの通信プロセスが処理可能なリクエスト数■
Web
サーバ起動時のプロセス構成
Webサーバを起動すると、デーモンプロセスはStartServersディレクティブに設定した数の通信プロセスを生成します。注1)証明書監視デーモンプロセスは、SSL運用時、証明書の有効日数を通知する警告メッセージをWebサーバ運用中 に出力するように設定した場合に生成されます。警告メッセージの出力の有無は、SSLCertExpireディレクティブで設定 します。 注2)CGIデーモンプロセスは、CGI運用時に生成されます。
■通信プロセス数の拡張
クライアントからの接続要求を受け付けた場合、待機状態の通信スレッドは通信状態となります。 待機状態の通信スレッド数がMinSpareThreadsディレクティブの設定値より少ない場合は、MinSpareThreadsディレクティ ブの設定値以上の数になるように、通信プロセスを新しく生成します。■通信プロセス数の縮退
クライアントとの通信が切断された場合、通信状態の通信スレッドは待機状態となります。
待機状態の通信スレッド数がMaxSpareThreadsディレクティブの設定値を超過した場合は、MaxSpareThreadsディレクティ ブの設定値以下の数になるように、待機状態の通信プロセスを削除します。
■最大多重動作
通信プロセス数が上限値(MaxClients÷ThreadsPerChild)に達した場合は、新しい通信プロセスを生成しません。 また、クライアントとの同時接続数がMaxClientsディレクティブの設定値に達した場合は、クライアントからの新しいリクエ ストをオペレーティングシステム内にキューイングします。 接続待ちキュー数は、ListenBacklogディレクティブで最大数を設定します。ただし、オペレーティグシステムの仕様に応 じた値が加算されます。注)α:オペレーティグシステムの仕様に応じた値
■
1
つの通信プロセスが処理可能なリクエスト数
1つの通信プロセスにおいて、プロセス生成後に受け付けるリクエストの合計がMaxRequestsPerChildディレクティブの設
定値を超過した場合、その通信プロセスを再起動します。このとき、通信プロセスはクライアントに応答を返して通信を切 断したあと、自ら終了します。
第
2
章
機能
Interstage HTTP Server 2.2が提供する機能について説明します。
2.1
クライアントの同時接続数
Interstage HTTP Server 2.2では、Webサーバがクライアント(Webブラウザ)からのリクエストを同時に受け付けることがで
きる最大数を設定できます。
注意
本設定により、同時にアクセスできる数は増加しますが、メモリ資源や一時ファイルなどの消費に伴いシステム全体の性 能が劣化する可能性があるので、注意してください。参照
クライアントの同時接続数は、「1.2 Webサーバのプロセス構成(Windows(R))」/「1.3 Webサーバのプロセス構成(Solaris/ Linux)」を参考にして設定してください。2.2 HTML文書の取出し
WebブラウザでURL(Uniform Resource Locator)にWebサーバ上の取得したいデータ(HTML文書や画像データなど)
を指定することにより、Webサーバに格納されたデータを取得してWebブラウザに返却します。 Webブラウザに指定するURLの形式を以下に示します。
■
URL
の形式
http://ホスト名:ポート番号/パス ホスト名 取得するデータが格納されているホスト名。 ポート番号 ポート番号。ホストのポート番号が「80」の場合は、省略可(省略時、コロン(:)は不要)。 パス サーバ上のディレクトリ構成のパス。 環境定義ファイル(httpd.conf)のDocumentRootディレクティブからの相対パス名のファイルを検索して、Webブラウザ に内容を返却します。注意
・
2バイトコードのURLを使用する場合は、以下を設定してください。ただし、URL内のクエリ文字列には、2バイトコー ドを使用できません。-
Webブラウザにおいて、UTF-8のURLを送信する設定を有効にします。 注)UTF-8のURLを送信する設定ができない場合、2バイトコードのURLは使用できません。-
Webサーバに、ファイル名が文字コード「UTF-8」であるHTML文書を格納します。・
初期設定の場合、URLのパスの末尾にスラッシュ(/)を付加しないでディレクトリを指定すると、Webサーバは以下の ように処理します。1.
Webブラウザ(クライアント)に、ステータスコード「301」(Moved Permanently)を返却します。このとき、Hostヘッダの値および末尾にスラッシュ(/)を付加したパスでリダイレクトURLを設定します。
2.
Webブラウザ(クライアント)からリダイレクトURLへのリクエストを受け付けます。3.
Webブラウザ(クライアント)に、環境定義ファイル(httpd.conf)のDirectoryIndexディレクティブに設定されたファ イルの内容を返却します。・
インストール直後の状態では、DocumentRootディレクティブで指定したディレクトリにサンプルのコンテンツが格納さ れています。Webサーバの運用に応じて、以下の対処を行ってください。-
不要なサンプルのコンテンツを削除する。-
DocumentRootディレクティブで指定するディレクトリを変更する。例
ホスト名 www.httpserver.co.jp ポート番号 80 公開用ルートディレクトリ C:\Interstage\F3FMahs\htdocs /opt/FJSVahs/htdocs HTML文書のファイル C:\Interstage\F3FMahs\htdocs\index.html (注) /opt/FJSVahs/htdocs/index.html (注) 注)インストール時に格納されたサンプルのコンテンツの場合、以下が表示されます。 It works! 上記の運用を行う場合、環境定義ファイル(httpd.conf)のDocumentRootディレクティブおよびWebブラウザからのURL は、以下のように指定します。 ポート番号は、環境定義ファイル(httpd.conf)のListenディレクティブに「80」が指定されている場合(インストール時に指 定)は、省略できます。 DocumentRootディレクティブの設定 値 DocumentRoot "C:/Interstage/F3FMahs/htdocs" DocumentRoot "/opt/FJSVahs/htdocs" Webブラウザから指定するURL http://www.httpserver.co.jp/2.3
認証とアクセス制御
Interstage HTTP Server 2.2では、以下の機能を使用して、資源(ディレクトリ全体、そのディレクトリ配下のHTML文書、画 像データなど)に対して、Webブラウザからのアクセスを制限します。・
ユーザ認証(基本認証)・
IPアクセスコントロール・
クライアント認証(証明書認証)ポイント
ユーザ認証、IPアクセスコントロール、およびクライアント認証は、単独または併用して使用できます。2.3.1
ユーザ認証
(
基本認証
)
Webサーバは、ユーザ名、グループ名、およびパスワードを管理して、ユーザがクライアント(Webブラウザ)で入力する ユーザ名とパスワードがサーバ上の資源へのアクセスが許可されているかを確認することにより、アクセスを制限します。ポイント
・
ユーザ認証では、ネットワーク上に送信されるユーザ名およびパスワードが暗号化されないため、ユーザ名およびパ スワードが容易に解読される可能性があります。本現象を回避するには、クライアントとサーバ間でSSLを使用した運 用を行って、ユーザ名およびパスワードを暗号化することにより、セキュアな運用を行うことができます。・
Webサーバのユーザ認証(基本認証)の情報は、Webアプリケーションでも使用できます。参照
ユーザ認証の設定方法については、「3.7 ユーザ認証の設定」を参照してください。2.3.2 IP
アクセスコントロール
Webサーバは、アクセスしているマシンのIPアドレスでサーバ上の資源へのアクセスが許可されているかを確認すること により、アクセスを制限します。参照
IPアクセスコントロールの設定方法については、「3.8 IPアクセスコントロールの設定」を参照してください。2.3.3
クライアント認証
(
証明書認証
)
Webサーバは、クライアント証明書の記載事項によりサーバ上の資源に対するアクセスを制限して、クライアント(Webブ ラウザ)の身元を保証します。ポイント
クライアント認証によるアクセス制限を行うには、SSLプロトコルバージョン「SSL3.0」または「SSL3.1」(TLS 1.0)を使用する 必要があります。参照
クライアント認証(証明書認証)の設定方法については、「3.9 クライアント認証の設定」を参照してください。2.4 SSL
Interstage HTTP Server 2.2では、WebブラウザとWebサーバ間の通信プロトコルとして、SSL(Secure Socket Layer)による
クライアント・サーバ認証と暗号化通信を使用することにより、盗聴/改ざん/なりすましなどの危険を回避し、情報のプ ライバシーを守ることができます。 SSL運用を行う場合にWebブラウザから指定されるURLの形式を以下に示します。
■
URL
の形式
「https」で始まるURLでアクセスした場合に、SSLプロトコルによる通信が行われ、機密性の高い通信を行う準備が自動 的に処理されます。 https://ホスト名:ポート番号/パス ホスト名 取得するデータが格納されているホスト名。 ポート番号 ポート番号。SSLを使用するホストのポート番号が「443」の場合は、省略可(省略時、コロン(:)は不要)。 パス サーバ上のディレクトリ構成のパス。環境定義ファイル(httpd.conf)のDocumentRootディレクティブからの相対パス名 のファイルを検索して、Webブラウザに内容を返却します。 SSL運用を行う場合は、暗号や署名処理を行うために必要な証明書や秘密鍵を管理する環境として、以下のどちらかの 環境を構築する必要があります。・
Interstage証明書環境・
SMEEコマンドで構築した証明書/鍵管理環境参照
SSL環境の構築については、「3.10 SSLの設定」を参照してください。ポイント
・
SSL運用を行う場合、Webサーバプログラムにおいて暗号アルゴリズムの演算処理によるCPU負荷が大きいため、通 信処理性能に影響があります。SSL運用時の通信処理を高速化する場合は、SSLアクセラレータを導入してくださ い。・
SSLでは、バーチャルホスト機能を併用した運用を行うことで、SSLを使用しない情報公開とSSLを使用する情報公開を同時に行うことができます。
2.5
バーチャルホスト
Interstage HTTP Server 2.2では、ホスト名(IPアドレス/ポート番号)が異なるWebサーバを同一のサーバマシン上で運
用することにより、Webブラウザから複数のマシンを仮想的に利用できます。 このバーチャルホスト機能により、実機を増設することなく新しいホスト環境を構築することができ、設備投資を抑えること ができます。 バーチャルホストには、以下の2種類の運用があります。
・
IP/ポート番号ベースのバーチャルホスト・
ネームベースのバーチャルホスト■
IP
/ポート番号ベースのバーチャルホスト
IP/ポート番号ベースのバーチャルホストは、複数のIPアドレス/ポート番号を設定し、それぞれのIPアドレス/ポート番 号ごとにバーチャルホストを実現する機能です。■ネームベースのバーチャルホスト
ネームベースのバーチャルホストは、1つのIPアドレスに対して複数のホスト名を割り当てることにより、それぞれのホスト 名ごとのバーチャルホストを実現する機能です。注意
・
本機能を設定すると1台の実機に負荷が集中してしまうため、性能を重視する場合は、推奨できません。アクセス頻 度などを考慮した上で使用してください。・
ネームベースのバーチャルホストを設定する場合、SSLは使用できません。参照
バーチャルホストの設定方法については、「3.11 バーチャルホストの設定」を参照してください。2.6 URLの書換え
Interstage HTTP Server 2.2では、クライアント(Webブラウザ)から指定されたURLに従い、通常、環境定義ファイル (httpd.conf)のDocumentRootディレクティブに設定したディレクトリ配下の資源をアクセスしますが、以下の機能を使用す ることにより、URLを書き換えることができます。
・
仮想ディレクトリ・
リダイレクト機能・
リライト機能■仮想ディレクトリ
仮想ディレクトリ機能を使用して、任意のディレクトリをURLの仮想的なパスに割り当てます。これにより、他のディレクトリ のデータを仮想的なパスを含むURLで公開できます。本機能は、DocumentRootディレクティブに設定したディレクトリ以 外のパスにデータを格納したり、データの格納パスを外部に隠蔽したりする場合に使用します。参照
仮想ディレクトリの設定方法については、「3.12 仮想ディレクトリの設定」を参照してください。■リダイレクト機能
リダイレクト機能を使用して、URLを新しいURLに書き換えます。これにより、クライアント(Webブラウザ)からWebサーバ 上の使用不可となったページにアクセスした場合などに、指定したページがアクセス不可であることを明示的に示し、古 いURLを新しいURLに書き換えることができます。本機能では、仮想ディレクトリ機能とは異なり、Webブラウザ上に表示 するURLも新しいURLに書き換えます。参照
リダイレクト機能の設定方法については、「3.13 リダイレクト機能の設定」を参照してください。■リライト機能
リライト機能を使用して、URLを書き換える条件および書き換えるルールを正規表現で設定し、クライアント(Webブラウ ザ)から要求されたURLを柔軟に書き換えます。本機能では、書き換えたURLで外部リダイレクトを実行したり、プロキシ 要求として動作させたりすることができます。参照
リライト機能の設定方法については、「3.14 リライト機能の設定」を参照してください。ポイント
URLの書換えは、変換条件などにより、いろいろな設定方法があります。Webサーバの運用方法に応じて設定してくださ い。変換種別の機能概要、その変換種別に対する設定可否・設定方法については、「付録C URL書換えの設定方法」 を参照してください。2.7
サーバステータスの監視機能
Interstage HTTP Server 2.2では、アクセス数、転送量、通信スレッドの状態など、Webサーバに関するさまざまな動作状
態を表示して確認できます。
注意
サーバステータスの監視機能を運用する場合、Webサーバの動作が遅くなることがあります。 表示内容、設定方法、および運用手順について、以下に示します。■表示内容
サーバステータスの監視機能では、以下の項目の動作状態を表示します。・
Webサーバ全体の動作状態・
通信スレッドの状態一覧・
通信スレッドごとの動作状態Webサーバ全体の動作状態
Webサーバ全体の動作状態が、西暦年「yyyy」の場合、以下の例のように表示されます。例
上記で表示された各項目の意味を以下に示します。 項目名 意味 備考Server Version Interstage HTTP Server 2.2のサーババージョン Server Built Interstage HTTP Server 2.2のコンパイル日時
Current Time 現在の日時
Restart Time 起動日時
Parent Server Generation 再起動回数
Server uptime 連続稼働時間 Total accesses 起動時からの総アクセス数 (注) Total Traffic 総転送量 (注) CPU Usage u 通信プロセスが消費したCPU時間(秒) (注) s 通信プロセスによりシステムが消費したCPU時間(秒) (注) cu CGIアクセスにおいて生成した子プロセスが消費したCPU 時間(秒) (注) cs CGIアクセスにおいて生成した子プロセスによりシステムが 消費したCPU時間(秒) (注) CPU load CPU使用率(%) (注) requests/sec 平均毎秒リクエスト数 (注) B/second 平均毎秒転送量 (注) B/request リクエストあたりの転送量 (注)
requests currently being processed 処理中のリクエスト数
idle workers 待機中の通信スレッド数
注)サーバステータス情報の拡張表示を行う場合(環境定義ファイル(httpd.conf)のExtendedStatusディレクティブの設定
通信スレッドの状態一覧
Webサーバが生成した通信スレッドの状態一覧が、以下のように、通信スレッドの番号(Srv)の順でキーごとに1つずつ表 示されます。この表示をスコアボードと呼びます。例
上記の例の場合は、通信スレッドが以下の状態であることを意味します。・
1つ目から5つ目までの通信スレッド:待機中・
6つ目の通信スレッド:応答中・
7つ目以降の通信スレッド:未起動 通信スレッドの状態を示すスコアボードのキーとその意味を以下に示します。 スコアボードのキー 意味"_" Waiting for Connection 待機中
"S" Starting up
通信スレッドの生成中
"R" Reading Request リクエストの読込み中
"W" Sending Reply リクエストの応答中
"K" Keepalive (read) Keep-Alive接続中 "D" DNS Lookup DNSでホスト名を検索中 "C" Closing connection コネクションクローズ中
"L" Logging ログファイルの書込み中
"G" Gracefully finishing 未起動 "I" Idle cleanup of worker - (注)
"." Open slot with no current process 未起動
注)Interstage HTTP Server 2.2では、サポートしていないため、無効です。
通信スレッドごとの動作状態
例
上記で表示された各項目の意味を以下に示します。
項目名 意味 備考
Srv (Child Server number - generation) 通信スレッドの番号 - 再起動した回数 (注)
PID (OS process ID) 通信プロセスのプロセスID
Acc (Number of accesses this connection / this child / this slot) Number of accesses this connection 同一コネクション内でのアクセス数 (注) this child 通信スレッドあたりの総アクセス数 this slot 通信スレッドあたりの総アクセス数 M (Mode of operation) 通信スレッドの状態 (「通信スレッドの状態一 覧」を参照)
CPU (CPU usage, number of seconds)
CPU消費時間(秒) (注)
SS (Seconds since beginning of most recent request) 最新リクエストからの経過時間(秒) (注)
Req (Milliseconds required to process most recent request)
最新リクエストの処理時間(ミリ秒) (注)
Conn (Kilobytes transferred this connection) 同一コネクション内での転送量(Kバイト) (注)
Child (Megabytes transferred this child) 通信スレッドあたりの総転送量(Mバイト) (注)
Slot (Total megabytes transferred this slot) 通信スレッドあたりの総転送量(Mバイト) (注)
Client クライアントまたはプロキシサーバなどのIPア ドレス (注) VHost 最新リクエストを受け付けたWebサーバのホ スト名 (注) Request 最新リクエストの内容 (注) 注)サーバステータス情報の拡張表示を行う場合(環境定義ファイル(httpd.conf)のExtendedStatusディレクティブの設定 値が「On」の場合)に表示されます。
■設定方法
サーバステータスの監視機能は、環境定義ファイル(httpd.conf)で設定します。 サーバステータスの監視機能の設定方法については、「3.15 サーバステータス監視の設定」を参照してください。注意
サーバステータス監視機能を運用する場合、ネットワーク上の悪意のある人(またはマシン)がそのサーバステータスをの ぞき見る脅威があります。この脅威に備え、以下を設定することをお勧めします。・
以下の機能を併用して設定し、特定のアクセスだけを許可します。-
ユーザ認証の設定 特定の管理者からのアクセスだけに対して、サーバステータス情報を表示します。-
IPアクセスコントロールの設定 特定のクライアントからのアクセスだけに対して、サーバのステータス情報を表示します。・
<Location>セクションのURLを複雑化して設定します。 サーバステータス監視機能で<Location>セクションを設定する場合、URLには一般的に「server-status」という文字列 が使用されます。このため、URLに「server-status」という文字列を設定すると、サーバステータス情報が安易に表示 される可能性があります。URLには「server-status」以外の文字列を設定してください。■運用手順
サーバステータスの監視機能を運用する場合、クライアントからWebブラウザで任意のURLにアクセスすることにより、上 記の表示内容の動作状態を表示します。URLの形式
http://ホスト名:ポート番号/パス ホスト名 Webサーバのホスト名またはIPアドレス。 ポート番号 ポート番号。ホストのポート番号が「80」の場合は、省略可(省略時、コロン(:)は不要)。 パス 環境定義ファイル(httpd.conf)の<Location>セクションで設定したURL。ポイント
・
URLの末尾に「?auto」を指定すると、簡略化したステータスを表示できます。・
URLの末尾に「?refresh=N」(N:秒数)を指定すると、指定した秒数ごとにステータスの表示を更新できます。なお、 「?refresh」を指定した場合は、10秒となります。例
Webブラウザ(クライアント)でWebサーバのIPアドレス「192.168.1.1」と<Location>セクションに指定したURL「/server-status」を指定して、サーバステータス情報(バージョン「x.x.xx」、OS「WinXX」(Win32またはWin64)、西暦年「yyyy」)を 表示する場合Webブラウザ(クライアント)でWebサーバのIPアドレス「192.168.1.1」と<Location>セクションに指定したURL「/server-status」を指定して、サーバステータス情報(バージョン「x.x.xx」、西暦年「yyyy」)を表示する場合
2.8
複数Webサーバ機能
Interstage HTTP Server 2.2では、1つのシステム上に複数のWebサーバを作成して運用できます。
この複数Webサーバ機能により、業務ごとの柔軟な運用や問題発生時の影響の極小化を実現することが可能となりま す。
参照
複数Webサーバの作成方法/削除方法については、「4.3 複数Webサーバの運用」を参照してください。注意
1つのポート番号を複数のWebサーバで利用する場合は、Webサーバごとに異なる「IPアドレス:ポート番号」を設定して 運用してください。同一の「IPアドレス:ポート番号」を利用する場合は、ネームベースのバーチャルホスト機能を使用して ください。バーチャルホスト機能については、「2.5 バーチャルホスト」を参照してください。2.9
コンテンツの圧縮機能
Interstage HTTP Server 2.2では、クライアントに送信するコンテンツを圧縮できます。 このコンテンツの圧縮機能により、コンテンツの転送量が減少するため、ネットワークの負荷が軽減し、リクエストの転送効 率を向上させることが可能となります。注意
コンテンツの圧縮機能を設定した場合、Content-Lengthヘッダの値は圧縮後のサイズとなります。参照
コンテンツの圧縮機能の設定方法については、「3.16 コンテンツの圧縮機能の設定」を参照してください。2.10
プロキシ機能
Interstage HTTP Server 2.2では、以下の2種類のプロキシ機能を提供しています。・
フォワードプロキシ・
リバースプロキシ■フォワードプロキシ
フォワードプロキシは、クライアントとWebサーバの間のクライアント側に位置し、クライアントの要求を代理してWebサー バにアクセスします。 一般的に、本機能は、ファイアウォールで制限される内部ネットワークのクライアントから外部ネットワークのWebサーバへ のアクセスを許可するために使用します。プロキシサーバでは、Webサーバからのデータをキャッシュに保存できます。参照
フォワードプロキシの設定方法については、「3.17 プロキシ機能の設定」の「フォワードプロキシ」を参照してください。注意
フォワードプロキシ機能を使用する場合、Webブラウザにおいてプロキシサーバを使用する設定を行ってください。■リバースプロキシ
リバースプロキシは、クライアントとWebサーバの間のWebサーバ側に位置し、Webサーバの代理でクライアントの要求を 受け付けます。 一般的に、本機能は、外部ネットワークのクライアントからファイアウォールで制限される内部ネットワークのWebサーバへ のアクセスを代行するために使用します。プロキシサーバでは、Webサーバからのデータをキャッシュに保存できます。 また、複数のホストに分散しているコンテンツなどを1つのホストが提供しているようにみせることが可能となります。参照
リバースプロキシの設定方法については、「3.17 プロキシ機能の設定」の「リバースプロキシ」を参照してください。
注意
リバースプロキシ機能を使用する場合、リバースプロキシサーバとWebサーバ間のSSL通信は使用できません。
2.11 タイムアウト時間
Interstage HTTP Server 2.2では、Webブラウザ(Webブラウザ)とWebサーバ間で、以下のタイムアウト時間を設定できま
す。
・
クライアント送受信タイムアウト時間(秒)・
次のリクエストまでのタイムアウト時間(秒)■クライアント送受信タイムアウト時間
(
秒
)
クライアント(Webブラウザ)とWebサーバ間でデータパケットを送受信するときに待機する最長の時間です。環境定義ファ イル(httpd.conf)のTimeoutディレクティブに、クライアント送受信タイムアウト時間(秒)を設定します。 SSL コ ネ ク シ ョ ン 確 立 時 の 送 受 信 タ イ ム ア ウ ト 時 間 を 設 定 す る 場 合 は 、環 境 定 義 フ ァ イ ル ( httpd.conf )の SSLHandshakeTimeoutディレクティブに設定します。ポイント
クライアント送受信タイムアウト時間に達してもパケットを受信できない場合、TCPコネクションが切断されます。接続中の ネットワークのトラフィックが増大し、TCPコネクションの接続が頻繁に中断される場合は、このタイムアウト時間を増やすこ とにより中断回数を減少させることができます。■次のリクエストまでのタイムアウト時間
(
秒
)
HTTP Keep-Alive機能を設定して、クライアント(Webブラウザ)とWebサーバ間で持続的なコネクションを行っている場合 に、WebサーバがHTTPレスポンスを送信してから次のリクエストまでコネクションを保持する最長の時間です。HTTP Keep-Alive機能の設定方法については、「3.22 HTTP Keep-Alive機能の設定」を参照してください。ポイント
HTTP Keep-Alive機能を設定しない場合は、1つのリクエストが完了するたびにコネクションを閉じて、次のリクエストに対 して新しく接続しますが、HTTP Keep-Alive機能を設定することにより同じコネクションで複数のリクエストを使用できるた め、クライアントのレスポンスが向上します。2.12
その他の機能
Interstage HTTP Server 2.2では、これまでに説明した機能以外に、以下のような機能が設定できます。・
ディレクトリリストの設定・
デフォルトMIMEタイプの設定・
MIMEタイプ定義・
デフォルトHTMLファイルの設定・
ユーザ追跡機能・
クッキーログの設定・
通信プロセスに対する権限の設定・
言語ベースのコンテンツネゴシエーション・
メッセージのカスタマイズ・
CGIプログラム実行許可■ディレクトリリストの設定
デフォルトページとして設定したファイルがWebサーバ上に存在しない場合、ディレクトリリスト(ディレクトリの内容一覧) を自動的に生成して表示します。参照
ディレクトリリストの設定方法については、「3.18 ディレクトリリストの設定」を参照してください。■デフォルト
MIME
タイプの設定
Webサーバ上の拡張子のないファイル、および拡張子が認識できないファイルに対するMIMEタイプを設定します。参照
デフォルトMIMEタイプの設定方法については、「3.19 デフォルトMIMEタイプの設定」を参照してください。■
MIME
タイプ定義
Webサーバ上の任意のMIMEタイプを、指定した拡張子に結びつけます。参照
MIMEタイプの設定方法については、「3.20 MIMEタイプ定義の設定」を参照してください。■デフォルト
HTML
ファイルの設定
ファイル名を省略した場合に表示されるデフォルトのHTMLファイルとして、「index.html」以外のファイルを設定します。参照
デフォルトHTMLファイルの設定方法については、「3.21 デフォルトHTMLファイルの設定」を参照してください。■ユーザ追跡機能
クライアントからのアクセス履歴情報をログファイルに記録することにより、アクセスしたユーザを追跡します。参照
ユーザ追跡機能の設定方法については、「3.23 ユーザ追跡機能の設定」を参照してください。■クッキーログの設定
リクエストに設定されているCookieヘッダ、およびレスポンス時に設定されるSet-Cookieヘッダの値をログファイルに記録 します。参照
クッキーログの設定方法については、「3.24 クッキーログの設定」を参照してください。■通信プロセスに対する権限の設定
通信プロセスにおいて、ユーザ/グループ単位などでアクセス制限を設定します。参照
通信プロセスに対する権限の設定方法については、「3.25 通信プロセスに対する権限の設定」を参照してください。■言語ベースのコンテンツネゴシエーション
Multiviews機能を有効とし、ファイル名拡張子を指定した言語に結びつけます。参照
言語ベースのコンテンツネゴシエーションの設定方法については、「3.26 言語ベースのコンテンツネゴシエーション」を参 照してください。■メッセージのカスタマイズ
クライアントまたはプロキシサーバなどのIPアドレス/ホスト名、データ転送量、およびユーザ個人情報などのアクセスに 関する情報を指定したフォーマットでログファイルに記録します。注意
アクセスが多いサイトにおいて、多くの情報を記録すると、ディスク容量が不足する可能性があります。参照
メッセージのカスタマイズ方法については、「3.27 メッセージのカスタマイズ」を参照してください。■
CGI
プログラム実行の許可
以下の方法でCGIプログラムの実行を許可することにより、WebブラウザからWebサーバ上に格納されたCGIプログラム を動作させることができます。・
CGIプログラム用のディレクトリを設定し、そのディレクトリ配下に格納されたファイルをCGIプログラムとして実行しま す。・
CGIプログラム用の拡張子を設定し、その拡張子のファイルをCGIプログラムとして実行します。参照
CGIプログラム実行許可の設定方法については、「3.28 CGIプログラム実行許可の設定」を参照してください。第
3
章
環境設定
Webサーバを運用する前に、必要に応じて環境定義ファイル(httpd.conf)のディレクティブにWebサーバの動作環境を 設定します。環境定義ファイル(httpd.conf)については、「5.5.1 環境定義ファイル(httpd.conf)」を参照してください。 Interstage HTTP Server 2.2の主な機能の設定例について説明します。参照
・
クライアントの同時接続数は、「1.2 Webサーバのプロセス構成(Windows(R))」/「1.3 Webサーバのプロセス構成 (Solaris/Linux)」を参考にして設定してください。・
通信スレッド数は、「1.3 Webサーバのプロセス構成(Solaris/Linux)」を参考にして設定してください。3.1
ホスト名の設定
ServerNameディレクティブを使用して、サーバのホスト名、またはIPアドレスとポート番号を設定します。設定したホスト名 /IPアドレス/ポート番号は、UseCanonicalNameディレクティブに「On」が設定されている場合に、リダイレクトURLを作 成するために使用されます。 設定例を以下に示します。例
サーバのホスト名「main.example.com」を設定する場合 ServerName main.example.com注意
ServerNameディレクティブには、IPv6アドレスを指定できません。参考
関連ディレクティブ・
ServerName・
UseCanonicalName3.2
公開用ルートディレクトリの設定
DocumentRootディレクティブを使用して、公開用ルートディレクトリ(httpdがファイルを提供するディレクトリ)を設定しま す。 設定例を以下に示します。例
公開用ルートディレクトリ「C:\Interstage\F3FMahs\htdocs」を設定する場合 DocumentRoot "C:/Interstage/F3FMahs/htdocs"公開用ルートディレクトリ「/opt/FJSVahs/htdocs」を設定する場合 DocumentRoot "/opt/FJSVahs/htdocs"
注意
・
本製品のインストール直後は、DocumentRootディレクティブに設定したディレクトリ配下に、サンプルのコンテンツが 格納されています。Webサーバの運用に応じて、不要なサンプルのコンテンツを削除するか、またはDocumentRoot ディレクティブに指定するディレクトリを変更してください。・
DocumentRootディレクティブに指定するディレクトリには、NFSサーバへのマウントポイントを指定できますが、Web サーバ運用中は常にNFSサーバへのアクセスが可能である必要があります。Webサーバを起動する前にNFSサー バが正常に起動されていることを確認してください。また、Webサーバ運用中は、NFSサーバへのアクセスが不可と なるような操作(NFSサーバの電源断など)を行わないでください。参考
関連ディレクティブ・
DocumentRoot3.3
ポート番号とIPアドレスの設定
Listenディレクティブを使用して、接続要求を受け取るポート番号およびIPアドレスを設定します。 設定例を以下に示します。例
ポート番号「80」を設定する場合 Listen 80 IPアドレス「127.0.0.1」、およびポート番号「80」を設定する場合 Listen 127.0.0.1:80 IPv6アドレス「2001:db8::a00:20ff:fea7:ccea」、およびポート番号「80」を設定する場合 Listen [2001:db8::a00:20ff:fea7:ccea]:80注意
・
Listenディレクティブに指定するIPアドレスには、IPv4射影アドレスを指定できません。・
できません。リンクローカルアドレスを指定すると、イベントログ(アプリケーション)にエラーメッセージahs00018を出力 し、Webサーバの起動に失敗します。
・
ListenディレクティブのIPアドレスにはIPv6アドレスのリンクローカルアドレスを指定できません。リンクローカルアドレ スを指定すると、システムログにエラーメッセージahs00018を出力し、Webサーバの起動に失敗します。・
Webサーバでは、一般的に以下のポート番号が使用されます。-
HTTP(SSL未使用時):80-
HTTPS(SSL使用時):443 ポート番号には、システム上のアプリケーションを含むすべてのサービスにおいてそれぞれ異なるポート番号を設定 する必要があります。Interstage HTTP Server 2.2が使用しているポート番号については「A.2 ポート番号」を、本製品 が使用しているポート番号については「システム設計ガイド」の「ポート番号」を参照してください。参考
関連ディレクティブ・
Listen3.4
アクセスログの設定
CustomLogディレクティブに、ahsrlog実行文またはログファイル名を指定することにより、アクセスログのログファイル出力 内容を設定します。 アクセスログのログファイル出力内容に応じた設定例を以下に示します。・
ahsrlog実行文を指定して時刻単位で設定する場合・
ahsrlog実行文を指定して日付単位・時刻指定で設定する場合・
ahsrlog実行文を指定して曜日単位・時刻指定で設定する場合・
ahsrlog実行文を指定して日数単位で設定する場合・
ahsrlog実行文を指定してファイルサイズ単位で設定する場合・
フィルタリング機能を使用して特定のリクエストを出力しない場合注意
・
ログローテーションを行わない場合は、ディスク容量を圧迫する可能性があるため、ログローテーションを行うことを推 奨します。ログローテーションを行う場合は、ahsrlog実行文で指定したログファイル数の上限値に達した際に、最も古 いログファイルを削除して新しいログファイルを作成します。・
メインホスト、バーチャルホスト、または異なるディレクティブに、同じログファイルを指定しないでください。複数Web サーバを運用している場合は、他のWebサーバと同じログファイルを指定しないでください。同一のファイル名を指 定すると、ログファイルの内容およびログローテーションの動作を保証できません。・
本製品のインストール直後は、CustomLogディレクティブに指定したahsrlogにより、以下のログファイルにログメッセー ジが出力されます。必要に応じて、ログファイルの格納先を変更できますが、ログファイルの格納先を変更すると、一 括情報採取ツール(iscollectinfoコマンド)では採取できないため、別途ログファイルを採取してください。 (インストールパスはデフォルト) C:\Interstage\F3FMahs\logs\accesslog (インストールパスはデフォルト) /var/opt/FJSVahs/logs/accesslog・
以下の設定例に指定しているログファイル「/opt/FJSVahs/logs/accesslog」は、シンボリックリンクファイルです。ログファ イルにシンボリックリンクファイル「/opt/FJSVahs/logs/accesslog」を指定すると、/var/opt/FJSVahs/logs配下にaccesslog ファイルが格納されます。ポイント
・
ahsrlog実行文を指定して出力させるログファイルは、ahsrlogのオプション指定により、それぞれのログローテーション を以下の5とおりの単位で指定できます。-
時刻単位(-Tオプション指定時)-
日付単位(-Cオプション指定時)-
曜日単位(-Wオプション指定時)-
日数単位(-dオプション指定時)-
ファイルサイズ単位(-sオプション指定時)・
フィルタリング機能が使用できます。SetEnvIfディレクティブを使用して、HTTPリクエストの属性に基づいた環境変数 を設定することにより、特定のIPアドレスからのリクエスト、または特定のURLへのリクエストなどのアクセスログを出力 しないように設定できます。・
出力するログの項目については、「4.2.1 アクセスログ」を参照してください。・
出力するログの項目をカスタマイズする場合は、「3.27 メッセージのカスタマイズ」を参照してください。・
TransferLogディレクティブを使用して設定することもできます。■
ahsrlog
実行文を指定して時刻単位で設定する場合
例
アクセスログのログローテーションを以下の条件で行う場合・
ローテーション時刻:09時00分、17時00分・
ファイル名:C:\Interstage\F3FMahs\logs\accesslog・
ファイル数の上限値:5CustomLog "||\"C:/Interstage/F3FMahs/bin/ahsrlog.exe\" -T \"C:/Interstage/F3FMahs/logs/accesslog\" 0900,1700 5" ahs-analysis
アクセスログのログローテーションを以下の条件で行う場合
・
ローテーション時刻:09時00分、17時00分・
ファイル名:/var/opt/FJSVahs/logs/accesslog・
ファイル数の上限値:5CustomLog "|/opt/FJSVahs/bin/ahsrlog -T /opt/FJSVahs/logs/accesslog 0900,1700 5" ahs-analysis
例
アクセスログのログローテーションを以下の条件で行う場合・
日付:毎月1日、11日、21日・
ローテーション時刻:00時00分・
ファイル名:C:\Interstage\F3FMahs\logs\accesslog・
ファイル数の上限値:5CustomLog "||\"C:/Interstage/F3FMahs/bin/ahsrlog.exe\" -C \"C:/Interstage/F3FMahs/logs/accesslog\" 1,11,21 5" ahs-analysis アクセスログのログローテーションを以下の条件で行う場合
・
日付:毎月1日、11日、21日・
ローテーション時刻:00時00分・
ファイル名:/var/opt/FJSVahs/logs/accesslog・
ファイル数の上限値:5CustomLog "|/opt/FJSVahs/bin/ahsrlog -C /opt/FJSVahs/logs/accesslog 1,11,21 5" ahs-analysis
注意
毎月31日にローテーションを行うように設定しても、31日が存在しない月は、ローテーションが行われません。月末にロー テーションを行いたい場合は、1日00時00分にローテーションを行うなどの設定を検討してください。■
ahsrlog
実行文を指定して曜日単位・時刻指定で設定する場合
例
アクセスログのログローテーションを以下の条件で行う場合・
曜日:毎週月曜日、土曜日・
ローテーション時刻:00時00分・
ファイル名:C:\Interstage\F3FMahs\logs\accesslog・
ファイル数の上限値:5CustomLog "||\"C:/Interstage/F3FMahs/bin/ahsrlog.exe\" -W \"C:/Interstage/F3FMahs/logs/accesslog\" Mon,Sat 5" ahs-analysis
アクセスログのログローテーションを以下の条件で行う場合
・
曜日:毎週月曜日、土曜日・
ローテーション時刻:00時00分・
ファイル数の上限値:5CustomLog "|/opt/FJSVahs/bin/ahsrlog -W /opt/FJSVahs/logs/accesslog Mon,Sat 5" ahs-analysis
■
ahsrlog
実行文を指定して日数単位で設定する場合
例
アクセスログのログローテーションを以下の条件で行う場合・
日数:1日・
ローテーション時刻:「Webサーバ起動日の00時00分から日数(1日)×24時間」経過後の次のログ出力時・
ファイル名:C:\Interstage\F3FMahs\logs\accesslog・
ファイル数の上限値:5CustomLog "||\"C:/Interstage/F3FMahs/bin/ahsrlog.exe\" -d \"C:/Interstage/F3FMahs/logs/accesslog\" 1 5" ahs-analysis アクセスログのログローテーションを以下の条件で行う場合
・
日数:1日・
ローテーション時刻:「Webサーバ起動日の00時00分から日数(1日)×24時間」経過後の次のログ出力時・
ファイル名:/var/opt/FJSVahs/logs/accesslog・
ファイル数の上限値:5CustomLog "|/opt/FJSVahs/bin/ahsrlog -d /opt/FJSVahs/logs/accesslog 1 5" ahs-analysis
■
ahsrlog
実行文を指定してファイルサイズ単位で設定する場合
例
アクセスログのログローテーションを以下の条件で行う場合・
ファイルサイズ:1Mバイト・
ファイル名:C:\Interstage\F3FMahs\logs\accesslog・
ファイル数の上限値:5CustomLog "||\"C:/Interstage/F3FMahs/bin/ahsrlog.exe\" -s \"C:/Interstage/F3FMahs/logs/accesslog\" 1 5" ahs-analysis
アクセスログのログローテーションを以下の条件で行う場合
・
ファイルサイズ:1Mバイト・
ファイル名:/var/opt/FJSVahs/logs/accesslogCustomLog "|/opt/FJSVahs/bin/ahsrlog -s /opt/FJSVahs/logs/accesslog 1 5" ahs-analysis
■フィルタリング機能を使用して特定のリクエストを出力しない場合
例
アクセスログを以下の条件で出力する場合・
IPアドレス「192.168.1.1」からのリクエストをアクセスログに出力しない・
ファイルサイズ単位でログローテーションを行うLoadModule setenvif_module "C:/Interstage/F3FMahs/modules/mod_setenvif.so" SetEnvIf Remote_Addr 192\.168\.1\.1 nolog_remote_addr
CustomLog "||\"C:/Interstage/F3FMahs/bin/ahsrlog.exe\" -s \"C:/Interstage/F3FMahs/logs/accesslog\" 1 5" ahs-analysis env=!nolog_remote_addr
アクセスログを以下の条件で出力する場合
・
URL「/abc/」配下へのリクエストをアクセスログに出力しない・
ファイルサイズ単位でログローテーションを行うLoadModule setenvif_module "C:/Interstage/F3FMahs/modules/mod_setenvif.so" SetEnvIf Request_URI "^/abc/" nolog_request_uri
CustomLog "||\"C:/Interstage/F3FMahs/bin/ahsrlog.exe\" -s \"C:/Interstage/F3FMahs/logs/accesslog\" 1 5" ahs-analysis env=!nolog_request_uri
アクセスログを以下の条件で出力する場合
・
メソッド「HEAD」のリクエストをアクセスログに出力しない・
ファイルサイズ単位でログローテーションを行うLoadModule setenvif_module "C:/Interstage/F3FMahs/modules/mod_setenvif.so" SetEnvIf Request_Method HEAD nolog_request_method
CustomLog "||\"C:/Interstage/F3FMahs/bin/ahsrlog.exe\" -s \"C:/Interstage/F3FMahs/logs/accesslog\" 1 5" ahs-analysis env=!nolog_request_method
アクセスログを以下の条件で出力する場合
・
IPアドレス「192.168.1.1」からのリクエストをアクセスログに出力しない・
ファイルサイズ単位でログローテーションを行うLoadModule setenvif_module /opt/FJSVahs/modules/mod_setenvif.so SetEnvIf Remote_Addr 192\.168\.1\.1 nolog_remote_addr
CustomLog "|/opt/FJSVahs/bin/ahsrlog -s /opt/FJSVahs/logs/accesslog 1 5" ahs-analysis env=!nolog_remote_addr アクセスログを以下の条件で出力する場合
・
URL「/abc/」配下へのリクエストをアクセスログに出力しない・
ファイルサイズ単位でログローテーションを行うLoadModule setenvif_module /opt/FJSVahs/modules/mod_setenvif.so SetEnvIf Request_URI "^/abc/" nolog_request_uri
CustomLog "|/opt/FJSVahs/bin/ahsrlog -s /opt/FJSVahs/logs/accesslog 1 5" ahs-analysis env=!nolog_request_uri アクセスログを以下の条件で出力する場合