我有一个 http 块,其中包含托管在同一服务器上的不同域的虚拟主机。对于每个虚拟主机,我执行以下操作:
listen domain.com:80;
现在,domain2.com 可以正常工作。但是,当我访问 www.domain2.com 时,它显示 domain1.com 的页面!
www
如何正确配置 nginx?这与 CNAME 还是 A 记录有关吗?
答案1
server {
listen WHATEVER_IP:80;
server_name domain2.com;
... rest of config for domain2.com goes here
}
server {
listen WHATEVER_IP:80;
server_name www.domain2.com;
... rest of config for www.domain2.com goes here
}
无论两个 IP 是否相同,此方法都有效。listen 80;
如果您不需要在不同的 IP 上使用不同的服务器,并且所有内容都是基于名称的,则可以使用。
答案2
看起来您可以在服务器块中执行以下操作:
listen 80;
server_name domain.com www.domain.com;