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