SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 採用情報 ...
技術者募集中

【apache】UseCanonicalNameって何?

問題

httpd.conf に UseCanonicalName Off って、いつもなんとなく書いているんだけど、必要?

答え

特に理由がない限り UseCanonicalName は Off でよい。

さらに、Apache 2.0 までは On がデフォルトだったが、Apache 2.2 では Off がデフォルトとなったので、Apache 2.2以降を使っているときは、忘れてもよい。

http://httpd.apache.org/docs/2.0/ja/mod/core.html#usecanonicalname

http://httpd.apache.org/docs/2.2/ja/mod/core.html#usecanonicalname

ディレクトリへのアクセスの場合に末尾のスラッシュ補完するなど、apacheがなんらかの理由でリダイレクトするとき、どうやって自身のURL(名前とポート)を決定するかに関わる設定。

多くの状況で Apache は自己参照 URL、すなわち 同じサーバを指す URL、を作成する必要があります。 UseCanonicalName On の場合は、ServerName ディレクティブで指定されている ホスト名とポート番号を使って、その正規名 (自己参照の名前) を生成します。 この名前は、すべての自己参照 URL で使われますし、CGI の SERVER_NAME と SERVER_PORT でも使われます。

VirtualHostを設定しているときなどは、クライアントからのリクエストヘッダのHost名、Portを利用したい。それならOffで。

OnにしてServerNameのホスト名でリダイレクトされて困るときは、Offに。

関連するメモ

コメント