Subversion(WebDAV)にProxy経由でアクセスできない場合の対処法

冬の新宿


Proxy経由でSubversionリポジトリ(Apache2+WebDAV)にアクセスすると、何故か「400 Bad Request」のHTTPエラーが返ってきた。


しかし、Webブラウザで、リポジトリにアクセスすると普通に閲覧できる状態。
なぜだろうと思い調べてみると、Proxyサーバが、Subversion(DAV)の使うHTTPのメソッドをサポートしていないのが原因でした。


ということで、Proxyサーバの設定を修正することで対処。
以下は、Squidの場合の例。以下の一行をsquid.confに追記する。

extension_methods REPORT MERGE MKACTIVITY CHECKOUT


ちなみにSubversion(DAV)が使うHTTPメソッドの一覧はコチラ。

http://subversion.tigris.org/faq.html#http-methods

あと、もう1つ対処法があるようで、Subversionが動いているサーバ側で、
HTTPだけではなく、HTTPSでもアクセス(SSLサポート)できるようにすることで解決する模様。これは、未確認ですが。

参考(Subversion公式FAQ)
http://subversion.tigris.org/faq.html#proxy