パスワードを忘れた? アカウント作成
522779 journal

Ryo.Fの日記: WebDAV/Apache/HTTPSクライアント認証

日記 by Ryo.F

とあるプロジェクトで、数社とチームを組むことになった。Visioのファイルや現場写真を貼り付けたMS-Excelファイルなどを交換することになった。これらのファイルの容量が結構でかい。弊社メールサーバでは拒否されるくらいの大きさのものもある。そこで、WebDAVでの交換を目論んだ。

一応、守秘義務やらセキュリティやらってことを考えねばならないので、通信経路の暗号化は必須。従って、HTTPSを採用。せっかくHTTPSを使うんだから、BASIC認証ではなく、TLS(SSL)のクライアント認証を使うことにした。
途中、httpd.confで、

Alias           /webdav/  "/home/wevdab"

と最初のパラメータの後ろに余分な「/」をつけてしまい、ブラウザからはアクセスできるけど、WindowsのWebフォルダや他のWebDAVクライアントからはアクセスできないという妙な現象を発生させてしまったが、これも解決。いよいよクライアント認証で読み書きできるようになった。

…のだが、大きなファイルを書き込もうとすると、WebDAVクライアント側でエラーが発生する。サーバ側のログを調べてみると、

[Thu Jul 13 ??:??:?? 2006] [error] [client ???.???.???.???] request body exceeds maximum size for SSL buffer
[Thu Jul 13 ??:??:?? 2006] [error] [client ???.???.???.???] could not buffer message body to allow SSL renegotiation to proceed

というエラーメッセージが。仕方がないので、BASIC認証を使うことにした。

で、いま改めてASF Bugzillaを調べてみると、これがそれに中る様だ。何々?大本のSSLVerifyClientをoptionalにして、必要なロケーションでrequireに変更?それだけじゃないのかな…後で試してみよう。

追記:
試してみた。どうも、Apacheの2.2.XでFixされていると書いてあるが、ちょっとびみょー。というのは、素で普通にクライアント認証が必要なところにだけ

SSLVerifyClient  require

と書いただけではダメだからだ。ではどうhackすればよいのか?グローバルなコンテキストで、以下のような記述を加える。

SSLVerifyClient none
 
<Location />
        SSLVerifyClient none
</Location>

全然意味のない記述だが、実際、こう書くと正常に動作するようだ。なんでやねん。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

アレゲはアレゲ以上のなにものでもなさげ -- アレゲ研究家

読み込み中...