apacheは難しいのぅ…

たとえば、バーチャルホストで

として、運用していたとしましょう。

ここで、ssl通信も欲しくなったとして

というマッピングを追加しようとした場合、どうするのが手っ取り早いってか、正確にできるんですかね? 単純にファイルだけ配信してる状況であれば 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>


さて、どうしたもんか。