WebDAV over ssl, VirtualHost ついでに digest認証

  • ロジテックから発売されている「Skylink HD」が便利で欲しいなーと2,3日悩みました(笑)。んで調べた結果、自宅に導入したらまた色々と同期しないといけないとか面倒だったのでwebdavで実現できないか設定してみた巻。
  • httpsでないと公共の場で使うのが怖いのとdigest認証を行いつつ少しだけ悩みながら設定してみました。

WebDAV, mod_ssl

設定ファイル

  • /etc/httpd/conf.d/webdav.conf ファイルは、使わないので削除するか webdav.conf.org とか名前を変更しておく。
  • /etc/httpd/conf.d/ssl.conf ファイルの VirtualHost ディレクティブ定義をごっそりコメントアウトか削除する。
    #<VirtualHost _default_:443>
    #...
    #</VirtualHost>
  • 特定ディレクトリのみssl化しかつwebdavで公開する設定を、/etc/httpd/conf.d/ssl.conf に記述する。
    webdavプロトコル GET,PROPFINDのみ対応するって設定してみる
    NameVirtualHost *:443
    <VirtualHost *:443>
      ServerAdmin hoge@sea-bird.org
      DocumentRoot "/var/www/html"
      ServerName www.sea-bird.org
      ErrorLog logs/error_log
      CustomLog logs/access_log combined
    
      SSLEngine on
      SSLProtocol all -SSLv2
      SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
      SSLCertificateFile /etc/pki/tls/certs/server.crt
      SSLCertificateKeyFile /etc/pki/tls/certs/server.key
      <Files ~ "\.(cgi|shtml|phtml|php3?)$">
        SSLOptions +StdEnvVars
      </Files>
      SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
      CustomLog logs/ssl_request_log "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
    
      Alias /hage /home10/hage
      <Directory "/home10/hage">
        DAV On
        AddDefaultCharset UTF-8
        <Limit GET PROPFIND>
            Options -Indexes +FollowSymLinks
            AuthType        Digest
            AuthName        "seabird"
            Require valid-user
            AuthDigestDomain /hage/
            AuthUserFile "/etc/httpd/conf/.htdigest"
            Order deny,allow
            Deny from all
            Allow from all
        </Limit>
      </Directory>
    </VirtualHost>
  • apache を再起動し、webdav対応アプリケーションから「https://www.sea-bird/hage」にアクセスできればok
    # /etc/init.d/httpd restart
    # httpd -S

プロトコルによるアクセス制限

webdav対応のアプリケーションからアクセスしてみる

  • iPhoneアプリ OverTheAir
  • Androidアプリ ESファイルエクスプローラ
  • Windowsアプリ NetDrive / Windows7,8 では webdavをサポートしなくなったため

NetDrive を使用して WebDavに接続してみる

  • NetDriveをインストールします。
    • 接続画面に必要な情報を入力します。
      &ref(): File not found: "netdrive-1.png" at page "CentOS6 / Apache(WebDAV,ssl,VirtualHost)の設定の巻";
    • httpsを使用する場合は、「Advanced」ボタンをクリックしチェックをいれます。
      &ref(): File not found: "netdrive-2.png" at page "CentOS6 / Apache(WebDAV,ssl,VirtualHost)の設定の巻";
    • Connectボタンをクリックし接続します。

Digest ファイルの作成

  • 新規作成の場合
    % htdigest -c .htdigest 'seabird' hogehoge  ← seabird部分は、レルムを指定(AuthType)
  • 追加の場合
    % htdigest .htdigest 'seabird' hogehoge2  ← seabird部分は、レルムを指定(AuthType)

参考にさせて頂いたサイト様


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-08-30 (水) 15:29:31