Ubuntu 16.04를 실행하는 작은 서버가 있습니다. https를 통해 웹페이지를 성공적으로 제공합니다.
또한 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 구성을 생성한다는 것입니다. 위의 코드를 이 파일에 복사했는데 모든 것이 잘 작동했습니다.