Archive for 2010年9月7日
HTTP TRACE メソッドの無効化 on GF v3
GlassFish v3.0 の HTTP リスナーの設定はデフォルトで TRACE メソッドが有効になっています。
$ telnet localhost 8080 Trying ::1… Connected to localhost. Escape character is ‘^]’. TRACE / HTTP/1.1 Host: localhost HTTP/1.1 200 OK Server: Oracle GlassFish Server 3.0.1 Content-Type: message/http Content-Length: 35 Date: Tue, 07 Sep 2010 08:45:33 GMT TRACE / HTTP/1.1 host: localhost |
TRACE メソッドを無効化するためには、asadmin の set サブコマンドで trace-enabled オプションを true から false に変更してください。
$ asadmin set configs.config.server-config.network-config.protocols.protocol.http-listener-1.http.trace-enabled=false configs.config.server-config.network-config.protocols.protocol.http-listener-1.http.trace-enabled=false コマンド set は正常に実行されました。 |
設定変更後、再度アクセスすると無効になっている事を確認できます。
$ telnet localhost 8080 Trying ::1… Connected to localhost. Escape character is ‘^]’. TRACE / HTTP/1.1 Host: localhost HTTP/1.1 405 TRACE method is not allowed Allow: POST, GET, DELETE, OPTIONS, PUT, HEAD Content-Length: 0 Date: Tue, 07 Sep 2010 08:50:53 GMT |
X-Powered-By ヘッダの削除方法 on GF v3
ちょっとしたメモです。
GlassFish v3.0.x で X-Powered-By ヘッダを削除する方法を下記に示します。標準の設定で GlassFish にアクセスすると、下記のように “X-Powered-By” ヘッダが表示されます。
$ telnet localhost 8080 Trying ::1… Connected to localhost. Escape character is ‘^]’. GET / HTTP/1.1 Host: localhost HTTP/1.1 200 OK X-Powered-By: Servlet/3.0 Server: Oracle GlassFish Server 3.0.1 Accept-Ranges: bytes ETag: W/”5147-1282383202000″ Last-Modified: Sat, 21 Aug 2010 09:33:22 GMT Content-Type: text/html Content-Length: 5147 Date: Tue, 07 Sep 2010 08:10:51 GMT |
これはデフォルトで作成される HTTP リスナーの設定において有効化されているためです。
$ ./asadmin get configs.config.server-config.network-config.protocols.protocol.http-listener-1.http.xpowered-by configs.config.server-config.network-config.protocols.protocol.http-listener-1.http.xpowered-by=true コマンド get は正常に実行されました。 |
これを無効化するためには、下記のように無効化(false)に設定してください。
$ ./asadmin set configs.config.server-config.network-config.protocols.protocol.http-listener-1.http.xpowered-by=false configs.config.server-config.network-config.protocols.protocol.http-listener-1.http.xpowered-by=false コマンド set は正常に実行されました。 |
設定変更後、再度アクセスすると”X-Powered-By” ヘッダが削除されている事を確認できます。
$ telnet localhost 8080 Trying ::1… Connected to localhost. Escape character is ‘^]’. GET / HTTP/1.1 Host: localhost HTTP/1.1 200 OK Server: Oracle GlassFish Server 3.0.1 Accept-Ranges: bytes ETag: W/”5147-1282383202000″ Last-Modified: Sat, 21 Aug 2010 09:33:22 GMT Content-Type: text/html Content-Length: 5147 Date: Tue, 07 Sep 2010 08:19:09 GMT |
※ Server ヘッダは現時点では削除できませんが、もうすぐでできるようになるらしいです。
https://glassfish.dev.java.net/issues/show_bug.cgi?id=6900
追記:GlassFish v3.0.1では下記のサブコマンドを実施し変更できました。
$ ./asadmin create-jvm-options -Dproduct.name=”My Own Server” 1 オプションを作成しました コマンド create-jvm-options は正常に実行されました。 $ ./asadmin restart-domain domain1 ドメインは正常に再起動されました コマンド restart-domain は正常に実行されました。 |
ドメインを再起動した後、再度アクセスして確認してください。
$ telnet localhost 8080 Trying ::1… Connected to localhost. Escape character is ‘^]’. GET / HTTP/1.1 Host: localhost HTTP/1.1 200 OK Server: My Own Server Accept-Ranges: bytes ETag: W/”5147-1282383202000″ Last-Modified: Sat, 21 Aug 2010 09:33:22 GMT Content-Type: text/html Content-Length: 5147 Date: Thu, 09 Sep 2010 01:58:41 GMT |