nginx https重定向添加www

时间:2016-03-31 02:10:42

标签: http redirect nginx https

我的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吗

1 个答案:

答案 0 :(得分:1)

只是在没有测试的情况下看这个,我会说它没有拿起www.domain.com,因为在配置中没有指定。我相信你需要一个单独的www规范,或使用正则表达式。

server {
    listen 80;
    server_name domain.com
                www.domain.com;
    return 301 https://domain.com$request_uri;
}