我的nginx配置中有两个服务器块:
server {
listen 80;
server_name domain.com;
return 301 https://domain.com$request_uri;
}
server {
listen 443 ssl;
server_name domain.com;
<ssl stuff>
<root directory>
}
我基本上是使用第一个服务器块将所有HTTP流量重定向到HTTPS。我正在硬编码重定向域名,因为我想明确避免重定向到htps://www.domain ... - 我想要https://domain ...
当我请求非www HTTP域时,nginx正确地重定向到非www HTTPS域
但是,当我请求www HTTP域时,nginx 不重定向到非www HTTPS域。不知何故,它为HTTPS重定向添加了一个www,即使我明确指定不这样做。
WHY吗
答案 0 :(得分:1)
只是在没有测试的情况下看这个,我会说它没有拿起www.domain.com,因为在配置中没有指定。我相信你需要一个单独的www规范,或使用正则表达式。
server {
listen 80;
server_name domain.com
www.domain.com;
return 301 https://domain.com$request_uri;
}