将https:// www重定向到https://

时间:2015-08-30 16:44:07

标签: ssl nginx https

我尝试将https://www.subdomain.website.com重定向到https://subdomain.website.com - 但我有“你的连接不是私密的”,如petenetlive.com/KB/Media/0000992/00001.png

没有www就可以了,因为它是由Cloudflare管理的。 你知道为什么吗 ?

server {
       listen 443;
       server_name www.irc.mywebsite.lol;
       return 301 https://irc.mywebsite.lol;

      ssl on;
      ssl_certificate /etc/nginx/ssl/server.crt;
      ssl_certificate_key /etc/nginx/ssl/server.key;
}

server {
        server_name     www.irc.mywebsite.lol;
        rewrite ^(.*)   https://irc.mywebsite.lol$1 permanent;
}


server {
        # Port
        listen 80;

        # Hostname
        server_name irc.mywebsite.lol;

        # Logs (acces et erreurs)
        access_log /var/log/nginx/irc.mywebsite.lol.access.log;
        error_log /var/log/nginx/irc.mywebsite.lol.error.log;
         location / {
                        proxy_set_header Host $host;
                        proxy_set_header X-Real-IP $remote_addr;
                        proxy_set_header x-forwarded-for
                        $proxy_add_x_forwarded_for;
                        proxy_pass http://localhost:7778/;
                        proxy_redirect default;
                        # Websocket support (from version 1.4)
                        proxy_http_version 1.1;
                        proxy_set_header Upgrade $http_upgrade;
                        proxy_set_header Connection "upgrade";

        }

}

1 个答案:

答案 0 :(得分:0)

我非常确定您使用的证书不包含www.subdomain.example.com。这意味着与此站点的https连接会导致SSL警告(主机名与证书不匹配)。由于重定向仅在之后成功进行SSL握手,因此不会发生重定向。

要解决此问题,您需要一个涵盖www.subdomain.example.com的证书。请注意,* .example.com的通配符证书是不够的,因为通配符仅涵盖主机名的最左侧标签。