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;
        #  ......  
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM