这是一开始的配置:
期望在访问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; # ...... }