当我尝试在浏览器上访问域 B 时遇到重定向问题,由于某种原因,我被重定向到域 A,这里可能发生了什么?
(这是我的站点可用文件夹)
顺便说一句,我从中删除了 DomainB sites-enables
,但仍然得到相同的重定向...这可能是 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),我也会被重定向到https://DomainA.com/blog/
答案1
您正在重定向请求http://domainB.cl到http://www.domainB.cl。由于您只配置了
server_name domainB.cl;
并不是
server_name domainB.cl www.domainB.cl;
,nginx 不知道应该使用哪个虚拟主机。因此,它会将请求重定向到配置中的默认虚拟主机,即 domainA.com 的虚拟主机。如果您从 sites-enabled 中删除 vhost,情况也是如此:nginx 使用默认 vhost。
为了解决这个问题,您必须为 www.domainB.cl 添加一个虚拟主机。