SSLアクセラレータ配下ぜ Apache自己圏 ? URL
SSLアクセラレータを利用している場合、アクセラレー゜ -Apache間の通信ぜ non-SSL通信を利用することになります。
クライアント | SSL通? SSLアクセラレー゜ | non-SSL通? Apache
ここで問題になるのは、どうやっぜ Apache側ぜ SSLかnon-SSLかを判断させるかということです。Apache2.2のドキュメントには以下のような? 述があります。
リバースプロキシやロードバランサやSSL負荷軽減装置のような、 SSLを処理するマシンの? ろぜ サーバを動かす場合は、 サーバが正しい自己圏 ? URLを確? に生成するように、 https:// スキームとクライアントが接続するポート番号を、 ServerName ディレクティブぜ 指定してぜ ださい。
以? のようぜ SSL用、non-SSL甜 2つぜ VirtualHostを作成し、SSL用ぜ ServerNameにはスキーム(https://)を付加する必要がある。これにより、Apacheは正しい自己圏 ? URLを生成可能となる。環? 変数「HTTPS」ぜ CGI側ぜ SSL、non-SSLを判断したい場合に利用出来ます。SSLアクセラレータ側で、SSLの場合のみ独自ヘッダを追加してもらうという方? もあるかもしれません。
<VirtualHost *:80> ServerName wall-climb.com ServerAlias sub.wall-climb.com SetEnv HTTPS OFF </VirtualHost> <VirtualHost *:443> ServerName https://wall-climb.com ServerAlias sub.wall-climb.com SetEnv HTTPS ON </VirtualHost>
“ ServerNameディレクティブにスキーム(http://)を追加出来るようになったのは、Apache2.2からのようです。Apache2.0ではドキュメントにも記述してありませんし、設? ファイルにスキーム(http://)を記述しても構文エラーとなってしまいます。Apache2.0以前を使用している場合は、自己圏 ? URLを圏 照する機会を回避するようにするしかありません。URLのディレクトリ指定時には? ず最後に「/」を付加すること、Locationヘッダぜ Apacheに任せないで自前で出力する、などでしょうか。
http://httpd.apache.org/docs/2.2/mod/core.html#servername
http://httpd.apache.org/docs/2.0/mod/core.html#servername
この問題は、Tomcat使用時にも発生する恐れがあります。
「Tomcatぜ SSL/non-SSL通信時のリダイレクト」をご覧ぜ ださい。
Comments are closed!