WebDAVでWindows7から接続できなかったときにやったこと

以前のエントリーで紹介いたしましたWebDAVの設定ですが、

Windows7からはなぜか認証が通らず、CarotDAVのようなクライアントソフトを使用する必要がありました。

解決策としては、下記の設定を追加しました。

    <LimitExcept OPTIONS>
        Require valid-user
    </LimitExcept>
    Header add MS-Author-Via "DAV"

Windows7でネットワークプレースの追加がうまく行かない(接続できない)多くの原因は「Windows7から自己証明書の場合はレジストリを変えてセキュリティレベルを落とさないと接続できなくなった」というもののようです。

(参考リンク:http://taka2198.exblog.jp/13077583/

ならばSSL証明書が信頼されれば大丈夫なのか?とComodoの体験版の証明書をいれてみた

・・・がっ!だめっ!変わらないっっ・・・、何一つ!

IEから該当URLを開いてSSL証明書が問題ないことを確認してもやはり認証が通らない。 ためしに上記の参考リンクの指南どおりレジストリを変えても駄目でした。

そこで参考にしたのが下記のサイトです。

http://plan9.aichi-u.ac.jp/webdav/win.html#

すごいです、あらゆるエラーコードを網羅してます。 早速ログをみてみると401エラーがかえってきていたので、 OPTIONSとHEADリクエストのときは認証をかけないようにしてみました。

それでも認証が通らないので直後の「認証なしの OPTIONS を許してみる」の項目を参考に 「MS-Author-Via “DAV”」をヘッダーに含めるようにしたところ・・・通りました。

最終的にはこんな感じの設定ファイルになりました

<Directory "/var/www/webdav/">
     AuthType Basic
     AuthName "Please input your password"
     AuthUserFile /etc/httpd/.htpasswd
     Require user secret
</Directory>

<Location "/">
    DAV on
    SSLRequireSSL
    AuthType        Basic
    AuthName        "Please input your password"
    AuthUserFile /etc/httpd/.htpasswd
    <LimitExcept OPTIONS>
        Require valid-user
    </LimitExcept>
    Header add MS-Author-Via "DAV"
    Order deny,allow
    Deny from none
    Allow from all
</Location>