在nginx上,这两个服务器设置是否相同?

时间:2018-05-04 07:43:49

标签: nginx

我有www重写或返回的设置。

1

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

2

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

这两件事是否相等?

它似乎运作良好,但我无法保证。

1 个答案:

答案 0 :(得分:1)

这取决于哪个server块是端口80的默认服务器

如果此server块也是端口80的隐式默认服务器,则可能需要处理example.com以外的服务器名称的请求,在这种情况下值$host的{​​{1}}不等于$server_name的值。有关详情,请参阅this document

您可以使用$server_name代替$host。有关详细信息,请参阅this document