CentOS5を利用しApacheのServerTokensディレクティブの動作確認をしてみました。
以下にServerTokensを変更しApacheの再起動後、ブラウザ上で出力された内容およびHTTPヘッダの内容を以下に記します。
利用したApacheのバージョンは以下の通りです。
$ /usr/sbin/httpd -v Server version: Apache/2.2.3 Server built: Feb 22 2012 10:54:25
ServerTokensの値は以下の値が指定できるようです。
値 | 説明 |
Prod ProductOnly | プロダクト名の送る(表示) |
Major | バージョンを送る(表示) 例) Apache/2 |
Minor | バージョンを送る(表示) 例) Apache/2.2 |
Min Minimal | バージョンを送る(表示) 例) Apache/2.2.3 |
OS | Minimalを指定したバージョンの表示とOS名を送る(表示) |
Full 未指定(ServerTokensを定義しない) | 全て表示 |
404 Not FoundになるURLをブラウザに入力し、ServerTokensの値によりどのような変化になるかを確認した。
httpd.confを以下の設定に変更しApacheを再起動しブラウザで接続した実行結果
ServerTokens Prod
(ProdをProductOnlyをしても同様に動作します。)
Productを示すApacheが表示されています。
httpd.confを以下の設定に変更しApacheを再起動しブラウザで接続した実行結果
ServerTokens Major
Apache/2と表示されています。
httpd.confを以下の設定に変更しApacheを再起動しブラウザで接続した実行結果
ServerTokens Major
Apache/2.2と表示されています。
httpd.confを以下の設定に変更しApacheを再起動しブラウザで接続した実行結果
ServerTokens Min
Apache/2.2.3と表示されています。
httpd.confを以下の設定に変更しApacheを再起動しブラウザで接続した実行結果
ServerTokens OS
Apache/2.2.3 (CentOS)と表示されています。
httpd.confを以下の設定に変更しApacheを再起動しブラウザで接続した実行結果
ServerTokens Full
(ServerTokensをコメントアウトなどして未定義とした場合はFullと同様の動作になりました。)
Apache/2.2.3 (CentOS) PHP/5.1.6と表示されています。
ServerTokensをFullにしてtelnetコマンドを利用してHTTPヘッダを確認してみます。
以下の操作で行いました。
7行目〜12行目がHTTPヘッダになります。
9行目のServer: Apache/2.2.3 (CentOS) PHP/5.1.6 がServerTokensの値を変えることにより変化します。(今回はFullを指定。)
1: # telnet localhost 80 2: Trying 127.0.0.1... 3: Connected to localhost.localdomain (127.0.0.1). 4: Escape character is '^]'. 5: GET /foo HTTP/1.0 6: 7: HTTP/1.1 404 Not Found 8: Date: Fri, 13 Apr 2012 05:57:37 GMT 9: Server: Apache/2.2.3 (CentOS) PHP/5.1.6 10: Content-Length: 285 11: Connection: close 12: Content-Type: text/html; charset=iso-8859-1 13: 14: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> 15: <html><head> 16: <title>404 Not Found</title> 17: </head><body> 18: <h1>Not Found</h1> 19: <p>The requested URL /foo was not found on this server.</p> 20: <hr> 21: <address>Apache/2.2.3 (CentOS) PHP/5.1.6 Server at localhost Port 80</address> 22: </body></html> 23: Connection closed by foreign host.