我有一个小网站,我在docker上运行,端口9090上的'dev'版本和端口8080上运行的'master'版本。
我在主机上使用Nginx(不在docker上运行)来处理来自互联网的请求在端口80/443上的代理。
端口80/443代理工作完美。没有问题。
问题:当尝试创建在端口90上运行的服务器(以显示站点的开发版本)时,这似乎是不安全的,这似乎尝试重定向回到站点的SSL版本,这由浏览器确认重定向到SSL,我在页面上收到错误:ERR_SSL_PROTOCOL_ERROR
如果我注释掉在端口80上运行的服务器,这个问题就会消失,但是我在实时/主站点上丢失了端口80重定向。
任何人都可以看到我如何设置配置可能是什么问题 - 谢谢!配置如下:
server {
listen 443 ssl;
server_name xxxxxxxxxxxxx.co.uk www.xxxxxxxxxxxxx.co.uk;
{some ssl config here}
add_header Strict-Transport-Security max-age=15768000;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
auth_basic "Restricted Content";
auth_basic_user_file /etc/nginx/.htpasswd;
proxy_pass http://localhost:8080;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 80;
server_name xxxxxxxxxxxxx.co.uk www.xxxxxxxxxxxxx.co.uk;
return 301 https://$host$request_uri;
}
server {
listen 90;
server_name xxxxxxxxxxxxx.co.uk www.xxxxxxxxxxxxx.co.uk;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
auth_basic "Restricted Content";
auth_basic_user_file /etc/nginx/.htpasswd;
proxy_pass http://localhost:9090;
proxy_redirect off;
}
}
您的问题可能是由端口433上设置的Strict-Transport-Security标头引起的。这告诉浏览器在此服务器/域上强制SSL在标头中的时间。
尝试删除标头并尝试缓存免费浏览器。