NGINX - 从https重定向到没有ssl证书的http

Joe*_*Joe 6 nginx

我正在设置一个新的nginx盒子,但是当我使用它时,我无法弄清楚为什么我的nginx没有启动:

    server {
    listen      443;
    server_name mysite.com; // https://mysite.com
    rewrite ^(.*)   https://mynewsite.com.com$1 permanent; // new site
}
Run Code Online (Sandbox Code Playgroud)

有人帮帮我吗?

小智 5

这是不可能做到的。从https重定向到http本身是基于成功的https连接,这需要证书。


Dig*_*ite -4

如果您有 SSL(购买的 SSL 或自签名 SSL),则可以将 https 重定向到 http。是的,如果有人尝试在您的 url 中添加s字母,您可以将 https 重定向到没有 SSL 的 http,这样您的 url 就无法通过 HTTPS 提供任何服务,而只能通过 HTTP 提供服务

server {
    listen 443;
    server_name yourdomain.com;
    return 301 http://www.yourdomain.com;
}
Run Code Online (Sandbox Code Playgroud)

并且您需要另一个服务器块来完成您的网址上的www服务。

server {
        listen 443;
        server_name www.yourdomain.com;
        // the rest of your configs //
    }
Run Code Online (Sandbox Code Playgroud)

我希望这有帮助。