coLinux日記

coLinuxはフリーソフトを種として、よろずのシステムとぞなれりける。

WebDAV と WindowsXP

2007-03-19 21:57:37 | Apache httpd
久しぶりの投稿です。

Apache httpd 2.2.4 + WebDAV + mod_ssl + digest で、httpd-dav.conf の中の次の部分に注目します。
<LimitExcept GET OPTIONS>
   require user espiya
</LimitExcept>

ここで、GET は、ブラウザからページを見るために除外しているのですが、OPTIONS はどうでしょうか。

試しに OPTIONS を除外しないと、
「ネットワークプレースの追加ウィザード」で、URLを指定しても、
「入力したフォルダは有効でないようです。別のフォルダを選択してください。」のメッセージがでます。

error_log には、
File Dose not exist: /home/data/davhome/_vti_inf.html
File Dose not exist: /home/data/davhome/_vti_bin

のようなメッセージがでます。これは、Windows XPが サーバをFrontPage Server Extension とみなすためらしいです。
mod_headers を使って、
  Header add MS-Author-Via "DAV"

を指定すればよいということです。これは、httpd コンパイル時に、configure のオプションで、
  -enable-headers

オプションが必要ですね。ただ試してみても、ここではうまくいきませんでした。

ちなみに、ないと言われるファイルやディレクトリを適当に作ってもエラーになるのでお手上げです。Mac ではこんなことはないのですが、Windows XP の WebDAV クライアントは不思議な仕様です。

また、前回作成したクライアント証明書の期限が切れ、そのときのエラーがどのように出るかが分かりました。

FireFox 2.0.0.2 では、「警告」ウィンドウが表示されて、「あなたの証明書の有効期限がきれているため、www.example.co.jp と暗号化された接続を確立できませんでした。」

のメッセージがでました。

InternetExplorer 6 では、「サーバーがみつかりません。」になりました。

/usr/local/httpd224/logs/error_log は、
[warn] Found CRL is expired - revoking all certificates until you get 
      updated CRL
[error] Certificate Verification: Error (12): CRL has expired

のようになりました。その後、証明書を変えたらうまくいかなくなりいろいろ試したところ、Digest認証のウィンドウでパスワードを保存しないようにレ点をはずしたらうまくいきました。Windows XPの場合いろいろパスワードなどを溜め込んでいるいるせいでしょうか。パスワードの保存が標準というのが気になります。

また、ここで使っているSSLのクライアント認証ですが、証明書を無効にする場合「証明書の失効」をおこないますが、httpd-ssl.conf の SSLCARevocationFile の指定をやめると証明書が復活してしまうようです。この辺がはっきりしないと実際の運用で問題になりそうです。使うときは必ず検証したほうがよいですね。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする