Я экспериментировал с Docker и nginx-proxy, поэтому могу разместить два веб-приложения (gophish и unms) на одном компьютере, используя ssl. Когда я все настраиваю и пытаюсь получить доступ к сайтам, я получаю ERR_SSL_PROTOCOL_ERROR в моем браузере. Я смотрю в папку с сертификатами, и похоже, что они сгенерированы правильно, как говорится в этой статье, они должны быть, и похоже, что он добавляет информацию SSL в файл nginx-proxy default.conf. Можете ли вы дать несколько советов, где искать проблему?
sudo docker run -d --name site-b -e 'LETSENCRYPT_EMAIL=test@minnesota-title.com' -e 'LETSENCRYPT_HOST=phish.minnesota-title.com' -e 'VIRTUAL_PORT=3333' -e 'VIRTUAL_HOST=phish.minnesota-title.com' matteoggl/gophish
sudo docker run -d --name site-a -e 'LETSENCRYPT_EMAIL=dpicray@minnesota-title.com' -e 'LETSENCRYPT_HOST=unms.minnesota-title.com' -e 'VIRTUAL_HOST=unms.minnesota-title.com' httpd
Это две команды, которые я использовал для создания контейнеров приложений. Я добавил фактическое приложение unms для httpd, чтобы не вводить другие переменные, и как только я получу это, я смогу поиграть и заставить работать unms.
Это мой файл nginx-proxy-контейнеров default.conf
# phish.minnesota-title.com
upstream phish.minnesota-title.com {
## Can be connected with "bridge" network
# site-b
server 172.17.0.6:3333;
}
server {
server_name phish.minnesota-title.com;
listen 80 ;
access_log /var/log/nginx/access.log vhost;
return 301 https://$host$request_uri;
}
server {
server_name phish.minnesota-title.com;
listen 443 ssl http2 ;
access_log /var/log/nginx/access.log vhost;
ssl_session_timeout 5m;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
ssl_certificate /etc/nginx/certs/phish.minnesota-title.com.crt;
ssl_certificate_key /etc/nginx/certs/phish.minnesota-title.com.key;
ssl_dhparam /etc/nginx/certs/phish.minnesota-title.com.dhparam.pem;
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/nginx/certs/phish.minnesota-title.com.chain.pem;
add_header Strict-Transport-Security "max-age=31536000" always;
include /etc/nginx/vhost.d/default;
location / {
proxy_pass http://phish.minnesota-title.com;
}
}
# unms.minnesota-title.com
upstream unms.minnesota-title.com {
## Can be connected with "bridge" network
# site-a
server 172.17.0.5:80;
}
server {
server_name unms.minnesota-title.com;
listen 80 ;
access_log /var/log/nginx/access.log vhost;
return 301 https://$host$request_uri;
}
server {
server_name unms.minnesota-title.com;
listen 443 ssl http2 ;
access_log /var/log/nginx/access.log vhost;
ssl_session_timeout 5m;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
ssl_certificate /etc/nginx/certs/unms.minnesota-title.com.crt;
ssl_certificate_key /etc/nginx/certs/unms.minnesota-title.com.key;
ssl_dhparam /etc/nginx/certs/unms.minnesota-title.com.dhparam.pem;
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/nginx/certs/unms.minnesota-title.com.chain.pem;
add_header Strict-Transport-Security "max-age=31536000" always;
include /etc/nginx/vhost.d/default;
location / {
proxy_pass http://unms.minnesota-title.com;
}
}
Любая помощь, которую вы можете оказать, была бы находкой! Если вам нужно увидеть что-то, чего я не публиковал, просто дайте мне знать, и я могу это взять!