Nginx - 设置子域名无法正常工作

Nginx - 设置子域名无法正常工作

一开始,我创建了一个 conf 文件,当我想要访问时它可以正常工作http://www.domain.com

server {
   listen 80;
   listen [::]:80;

   root /var/www/domain;
   index index.html

   server_name domain.com www.domain.com;
}

然后我决定为子域创建另一个配置文件:

server {
   listen 80;
   listen [::]:80;

   root /var/www/subdomain.domain;
   index index.html

   server_name subdomain.domain.com;
}

现在的问题是,每当我想要访问http://www.domain.com或时http://subdomain.domain.com,在两种情况下,结果都是我应该为子域名获取的页面。

新的 conf 文件已正确添加到site-enabled文件夹:

ln -s /etc/nginx/site-available/subdomain.domain.conf /etc/nginx/site-enabled/subdomain.domain.conf

我的 DNS 记录如下:

domain.com. IN A <server_ip>
www.domain.com. IN A <server_ip>
subdomain.domain.com. IN A <server_ip>

答案1

;您在指令中缺少index,这导致 nginx 解释

index.html

server_name domain.com www.domain.com;

作为指令的内容index。因此,没有使用 定义的虚拟主机server_name,并且 nginx 将使用子域虚拟主机作为 catch-all 虚拟主机。

相关内容