в настоящее время я использую nginx-proxy для маршрутизации своих поддоменов в разные контейнеры докеров. Теперь я хотел бы добавить сертификат SSL в свой контейнер Owncloud, но я не могу его правильно настроить.
Что я наделал:
Я попытался получить сертификат SAN, выполнив ./certbot-auto certonly
где я ввел каждый субдомен, который хотел бы использовать. Сертификат успешно сгенерирован в etc/letsencrypt/live/www.mydomain.com
Взгляните на мой docker-compose.yml:
nginx-proxy:
image: jwilder/nginx-proxy
ports:
- "80:80"
- "443:443"
volumes:
- /var/run/docker.sock:/tmp/docker.sock
owncloud:
image: owncloud
expose:
- 80
- 443
environment:
- "VIRTUAL_HOST=owncloud.mydomain.com,www.owncloud.mydomain.com"
- "VIRTUAL_PROTO=https"
- "VIRTUAL_PORT=443"
volumes:
- "owncloud-data:/var/www/html"
- "/etc/letsencrypt/live/www.mydomain.com:/root/ssl"
А вот отрывок из моей /etc/apache2/sites-available/default-ssl.conf
(конечно из контейнера owncloud)
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /root/ssl/cert.pem
SSLCertificateKeyFile /root/ssl/privkey.pem
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
BrowserMatch "MSIE [2-6]" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
# MSIE 7 and newer should be able to use keepalive
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
</VirtualHost>
</IfModule>
Всякий раз, когда я пытаюсь подключиться к https://www.owncloud.mydomain.com
Я получаю ERR_CONNECTION_REFUSED
ошибка.
Любые идеи? Спасибо.
Наконец, я обнаружил, что мой docker-compose.yaml неверен. Вот моя новая конфигурация:
nginx-proxy:
image: jwilder/nginx-proxy
ports:
- "80:80"
- "443:443"
volumes:
- /var/local/nginx/certs:/etc/nginx/certs
- /etc/letsencrypt:/etc/letsencrypt
- /var/run/docker.sock:/tmp/docker.sock
owncloud:
image: owncloud
expose:
- 443
environment:
- "VIRTUAL_HOST=owncloud.mydomain.com,www.owncloud.mydomain.com"
volumes:
- "owncloud-data:/var/www/html"
Ссылка на мои fullchain.pem и privkey.pem находится в / var / local / nginx