繁体   English   中英

nginx https 重定向添加 www

[英]nginx https redirect adds www

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

为什么?

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM