nginx中的多个域的redirect问题

当我尝试访问我的浏览器上的DomainB时出现redirect问题,出于某种原因,我被redirect到了DomainA,这里可能会发生什么?

(这是我的网站可用的文件夹)

顺便说一句,我从sites-enables删除DomainB,我仍然得到相同的redirect…可能是一个DNS问题,而不是一个Nginx的问题?

 ## ## /etc/nginx/sites-available/DomainC ## server { listen 80; server_name domainC.com www.domainC.com; return 301 https://domainA.com/blog$request_uri; } ## ## /etc/nginx/sites-available/DomainA ## server { listen 80; server_name domainA.com www.domainA.com; return 301 https://domainA.com$request_uri; } server { listen 443 ssl; server_name www.domainA.com; include domainA.ssl.conf; return 301 https://domainA.com$request_uri; } server { server_name domainA.com; root /var/www/domainA.com; listen 443 ssl; index index.html; autoindex off; include common.conf; include domainA.ssl.conf; } ## ## /etc/nginx/sites-available/DomainB ## server { listen 80; server_name domainB.cl; return 301 http://www.domainB.cl$request_uri; } server { listen 80; server_name www.domainB.cl; root /var/www/domainB.cl; index index.html; } 

编辑:我认为这可能与事实有关,如果由于某种原因我去http://vps_ip/ (例如192.123.123.123),我也被redirect到https://DomainA.com/blog/

您将http://domainB.cl的请求redirect到http://www.domainB.cl 。 因为你只configuration

 server_name domainB.cl; 

并不是

 server_name domainB.cl www.domainB.cl; 

,nginx不知道应该使用哪个虚拟主机。 因此,它会将请求redirect到您的configuration中的默认configuration,即domainA.com的configuration。 如果您从启用网站的位置移除虚拟主机,则也是如此:nginx使用默认的虚拟主机。

为了解决这个问题,你必须为www.domainB.cl添加一个虚拟主机。