Nginx server_name 设置为 mydomain.com,那么为什么 www.mydomain.com 也会被服务?

Nginx server_name 设置为 mydomain.com,那么为什么 www.mydomain.com 也会被服务?

我的 Nginx 配置如下:

server {
    listen 443 ssl;
    server_name mydomain.com;
    ...
}

当我加载 时https://mydomain.com,网站加载正常。但当我加载 时https://www.mydomain.com,网站也加载正常。为什么会发生这种情况?

我使用 Amazon Route 53 设置 DNS 记录如下:

A        mydomain.com        xxx.xxx.xxx.xxx (IP)
CNAME    www.mydomain.com    mydomain.com

www.mydomain.com那么,到达 Nginx 的请求是否等同于到达 的请求mydomain.com

如果是这样,我该如何区分发送到我的服务器的请求www.mydomain.commydomain.com在我的服务器的请求?

答案1

如果这是唯一server监听端口 443 的块,则它将用于与服务器的所有 SSL 连接,与实际域名无关。

您需要创建一个server带有条目的块listen 443 ssl default_server,以创建一个在没有其他块匹配时提供服务的虚拟主机server

相关内容