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メソッドの一覧はコチラ。
あと、もう1つ対処法があるようで、Subversionが動いているサーバ側で、
HTTPだけではなく、HTTPSでもアクセス(SSLサポート)できるようにすることで解決する模様。これは、未確認ですが。
- 参考(Subversion公式FAQ)
- http://subversion.tigris.org/faq.html#proxy