我有以下NGINX配置将https重定向到http,然后运行301重定向。问题是,如果有人访问https://domain.com
而不是被重定向,则会被卡在证书错误页面上。
server {
listen 443;
server_name domain.com www.domain.com;
rewrite ^(.*) http://$host$1 permanent;
}
server {
listen 80;
server_name domain.com www.domain.com;
location ~ /assets/img/images/(.*)$ {
return 301 https://domain.xyz/images/legacy/$1;
}
location ~ /frame/(.*)$ {
return 301 https://domain.xyz/embeded/$1;
}
}
答案 0 :(得分:1)
这有点鸡与蛋的问题,如果没有首先支持TLS / SSL,就没有真正的方法可以说你不支持TLS / SSL。
因此,为了服务重定向,您仍然必须提供有效的证书。
获得证书后(例如Let's Encrypt中的免费证书),您只需将其添加到第一个server
块:
listen 443 ssl;
ssl_certificate /path/to/certificate.crt;
ssl_certificate_key /path/to/private.key;