【问题标题】:NGINX Redirect HTTPS to HTTP getting Cert ErrorNGINX 将 HTTPS 重定向到 HTTP 获取证书错误
【发布时间】:2017-01-26 16:49:56
【问题描述】:

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

【问题讨论】:

    标签: ssl redirect nginx


    【解决方案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;
    

    【讨论】:

    • 选择走这条路 - 如果立即重定向需要证书有点痛苦,谢谢!
    猜你喜欢
    • 2011-03-29
    • 2018-01-05
    • 1970-01-01
    • 2016-01-15
    • 2014-10-11
    • 2018-08-18
    • 2017-02-25
    • 1970-01-01
    • 2018-07-01
    相关资源
    最近更新 更多