NGINX将HTTPS重定向到HTTP获取证书错误

时间:2017-01-26 16:49:57

标签: ssl redirect nginx

我有以下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;
        }
}

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;