Tomcatには特定のuser-agentだけKeepAliveを無効化するための設定が存在する。

はじめに

 「そんな設定があるとは、Tomcatめ」と思ったのでメモ。
 TomcatのWebサーバの機能、意外と本格的なのね。

対象

設定項目

 server.xmlに記述できるrestrictedUserAgentsという項目がそれです。
 詳細は以下を参照。

 なぜそんな設定を気にしたかと言いますと、IE は KeepAlive をうまく処理できない? - kinneko@転職先募集中の日記という記事が気になったため。
 Tomcat単体で使用してる場合にも対策は可能なのかなぁ、と。
 でも、プロクシが設定をヘッダを書き換える可能性を考えますと、maxKeepAliveRequestsを使って全面的にKeepAliveを禁止したほうが手堅いのかもしれない。

余談ですが

 Apache Http Server では、BrowserMatchという設定を使えば同様なことができるっぽい。
 nokeepaliveという指定を使用することで、特定のuser-agentを取り除けるようですね。
 2.2.15に同梱されている「conf/extra/httpd-ssl.conf」にそんな感じの設定が記載されています。