Ubuntu 16.04を実行している小さなサーバーがあります。 httpsを介してWebページを正常に提供します。
また、Apacheでhttpsを介してwebdavを設定したいと思います。これを明示的に設定するチュートリアルを見つけるのが難しく、最終的にいくつかの他のチュートリアルの情報を使用するようになったため、ある時点で矛盾することをしていた可能性が高いがそれが何かはわかりません。
default-ssl-confは、すべてのテンプレートコメントが削除された次のようになります。 DavLockDBディレクティブを追加することに加えて、Aliasコマンド以前は設定を変更しませんでした。
DavLockDB /var/www/DavLock/davLock
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin me@me
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
# My Webdav config starts here
Alias "/webdav" "/var/www/webdav"
<Directory /var/www/webdav>
DAV on
DirectoryIndex disabled
AuthType Digest
AuthName "webdav"
AuthUserFile /etc/apache2/users.password
Require valid-user
</Directory>
</VirtualHost>
cadaverを介してlocalhostまたは完全修飾名に接続すると、同じ応答が得られます。
jbhelfrich@arm:/etc/apache2/sites-available$ cadaver https://localhost/webdav
Could not access /webdav/ (not WebDAV-enabled?):
405 Method Not Allowed
Connection to `localhost' closed.
また、/webdav なしで試しましたが、同じ基本応答を受け取りました。 /var/www/DavLockと/var/www/webdavはどちらもwww-dataに属します。
/var/logs/apache2/access.log を表示
::1 - - [10/Aug/2016:20:07:44 +0000] "OPTIONS / HTTP/1.1" 200 229 "-" "cadaver/0.23.3 neon/0.30.1"
::1 - - [10/Aug/2016:20:07:44 +0000] "PROPFIND / HTTP/1.1" 405 501 "-" "cadaver/0.23.3 neon/0.30.1"
error.log には関連内容が表示されず、other_vhosts_access.log は空です。
エイリアス、dav_fs、dav、dav_lock モジュールがすべて有効になりました。
私が逃した部分を知っている人はいますか?
答え1
問題は、Lets Encrypt設定プロセスが私が気づかなかったサイト固有のSSL設定を生成することです。上記のコードをこのファイルにコピーしましたが、すべてがうまくいきました。