リバースプロキシ後の webDAV に https で mv できない
サーバーの構成はこんな感じ

LB に pound (http, https 使える状態)
webDAV に mod_dav_svn を使って http で apche がたっている。
で、今回の問題が https で checkout したリポジトリに対して mv や rename すると
svn COPY 502 bad gateway over HTTPS と言われてコミットできない。
http だと問題なく mv, rename がコミットできる。
以下 http://www.digilib.org/modules/bwiki/index.php?Subversion#zca25176 より引用
これはHTTPS超えて、SVNを管理する場合、ファイル移動する際発生する問題。 davのモジュールは相対ではなく、絶対パスで管理するから。 Subversion付属のsvnserveなら問題発生しない。
って書かれてたので半ばあきらめてた。
ただいかんせん、ほかにも https でやってるとこもある。
現に会社では webDAV, https という組み合わせでもできていた。
サーバのセットアップをやったついでに調べるとこれの回避方法をようやくみつけた!!
Subversion behind an Apache Reverse Proxy
ここに書いてあるとおりで、
どうやらリバースプロキシを使って、https で client からアクセスがいき
webDAV が http でたっている場合に怒られるらしい。
LoadModule headers_module modules/mod_headers.so RequestHeader edit Destination ^https http early
こうしてやるといいとのこと。
これでよーやく気兼ねなく mv や rename ができるようになった。
快適快適
LB はさまずに直接 apache で受けたら回避できる問題だけど
Slowloris Dos攻撃 もあるから LB を間にいれときたいってのもあるしね。
それにしても https で pound が proxy すると
pound 以降は http で通信が行われてるっていう
認識だったんだけど違うのかな??
おいおい調べることにして寝る。

