apacheは難しいのぅ…
たとえば、バーチャルホストで
として、運用していたとしましょう。
ここで、ssl通信も欲しくなったとして
- https://rozen.example.com/gin → http://gin.example.com/ の内容を表示
- https://rozen.example.com/kana → http://kana.example.com/ の内容を表示
- https://rozen.example.com/sui → http://kana.example.com/ の内容を表示
というマッピングを追加しようとした場合、どうするのが手っ取り早いってか、正確にできるんですかね? 単純にファイルだけ配信してる状況であれば alias とかでごまかせるんでしょうけれども、自鯖では WebDAV とか mod_uploader とか <Location> ディレクティブが含まれる設定が存在しており、なかなか上手くいきません…。
私はとりあえず ReverseProxy を試して見たんですが、apacheの解説の通り
HTML ページの中の URL 参照を 書き換えたりすることはありません。
http://httpd.apache.org/docs/2.2/ja/mod/mod_proxy.html
の問題に遭遇して、期待通りに動かない状況に。
その文章の直ぐ下に mod_proxy_html が紹介されていますが「配信される HTML の 外部JavaScript に URL があると期待通りに動作しない」という情報を目にし、実はリバースプロキシは強引な方法でありいつか破綻するのではないか? と思い始めたのでした。^^;
だからといって、httpd.conf に https と http で2回設定書くのはめんどくさいってか、絶対に整合性が取れなくなる自信が有るワケでして。(苦笑
# http - ココと <VirutalHost *:80> ServerName gin.example.net DocumentRoot /var/www/gin/ </VirutalHost> <VirutalHost *:80> ServerName kana.example.net DocumentRoot /var/www/kana/ </VirutalHost> <VirutalHost *:80> ServerName sui.example.net DocumentRoot /var/www/sui/ <Location /svn> DAV svn 〜 <Location> </VirutalHost> # https - ココで設定を常に同じにしておく自信は無いッ! # ついでに Location のネストも許されないので非常にめんどい <VirtualHost *:443> SSLEngine ON <Location /gin> 〜 </Location> <Location /kana> 〜 </Location> <Location /sui> # ↓これが許されないので、 # 最終手段「設定コピペ」も上手くいかない <Location /svn> DAV svn </Location> </Location> </VirtualHost>
さて、どうしたもんか。