#navi(../)
* サーバ情報の表示・ServerTokens [#h747410b]
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
#contents
#htmlinsertpcsp(web-top.html,web-sp.html)
* 関連資料 [#g926082c]
-[[ServerTokensとServerSignatureの関係>Apache/ServerTokensとServerSignatureの関係]]
* ServerTokens値の説明 [#ra130368]
ServerTokensの値は以下の値が指定できるようです。
|値|説明|
|Prod&br;ProductOnly|プロダクト名の送る(表示)|
|Major|バージョンを送る(表示) 例) Apache/2|
|Minor|バージョンを送る(表示) 例) Apache/2.2|
|Min&br;Minimal|バージョンを送る(表示) 例) Apache/2.2.3|
|OS|Minimalを指定したバージョンの表示とOS名を送る(表示)|
|Full&br;未指定(ServerTokensを定義しない)|全て表示|
* ServerTokensの値を変更しブラウザでアクセス [#n5bf7249]
404 Not FoundになるURLをブラウザに入力し、ServerTokensの値によりどのような変化になるかを確認した。
** ServerTokens Prod [#i398a386]
httpd.confを以下の設定に変更しApacheを再起動しブラウザで接続した実行結果
ServerTokens Prod
(ProdをProductOnlyをしても同様に動作します。)
#ref(servertokens-prod.gif)
#br
Productを示すApacheが表示されています。
** ServerTokens Major [#n610ed9e]
httpd.confを以下の設定に変更しApacheを再起動しブラウザで接続した実行結果
ServerTokens Major
#ref(servertokens-major.gif)
#br
Apache/2と表示されています。
** ServerTokens Minor [#ed287a79]
httpd.confを以下の設定に変更しApacheを再起動しブラウザで接続した実行結果
ServerTokens Major
#ref(servertokens-minor.gif)
#br
Apache/2.2と表示されています。
** ServerTokens Min [#j5e9c39b]
httpd.confを以下の設定に変更しApacheを再起動しブラウザで接続した実行結果
ServerTokens Min
#ref(servertokens-min.gif)
#br
Apache/2.2.3と表示されています。
** ServerTokens OS [#j4b9c27d]
httpd.confを以下の設定に変更しApacheを再起動しブラウザで接続した実行結果
ServerTokens OS
#ref(servertokens-os.gif)
#br
Apache/2.2.3 (CentOS)と表示されています。
** ServerTokens Full [#lcb49dd5]
httpd.confを以下の設定に変更しApacheを再起動しブラウザで接続した実行結果
ServerTokens Full
(ServerTokensをコメントアウトなどして未定義とした場合はFullと同様の動作になりました。)
#ref(servertokens-full.gif)
#br
Apache/2.2.3 (CentOS) PHP/5.1.6と表示されています。
* HTTPヘッダを確認してみる [#a9370069]
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.
* 参考記事 [#z1792b39]
- httpd.apache.orgへのリンク~
http://httpd.apache.org/docs/2.1/ja/mod/core.html#servertokens
#htmlinsertpcsp(web-btm.html,web-sp.html)