Nginx-SSL证书--设置80跳转443碰到的坑

这是一开始的配置:

期望在访问http://bbb.sample.com的时候,跳到https://bbb.sample.com

可实际情况是自动跳转到https://aaa.sample.com了.

server{
        listen 80;
        server_name aaa.sample.com;
        server_name bbb.sample.com;

        rewrite ^(.*) https://$server_name$1 permanent;
}
server{
        listen 443 ssl;
        server_name aaa.sample.com;
        server_name bbb.sample.com;
        #  ......  
}

 

经过一阵查阅后发现$server_name这个变量,如果有多个值的话,取出来的是第一个值,也就是aaa.sample.com

后来改成$host,就解决问题了。

server{
        listen 80;
        server_name aaa.sample.com;
        server_name bbb.sample.com;

        rewrite ^(.*) https://$host$1 permanent;
}
server{
        listen 443 ssl;
        server_name aaa.sample.com;
        server_name bbb.sample.com;
        #  ......  
}

 

posted @ 2021-08-31 23:38  builderman  阅读(1257)  评论(0)    收藏  举报