web-dev-qa-db-ja.com

nginxの複数のドメインでのリダイレクトの問題

ブラウザでDomainBにアクセスしようとすると、リダイレクトの問題が発生します。何らかの理由でDomainAにリダイレクトされますが、ここで何が起こっている可能性がありますか?

(これは私のサイトで利用可能なフォルダーです)

ところで、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
Mr.Gando

http://domainB.cl のリクエストを http://www.domainB.cl にリダイレクトしています。構成しただけなので

server_name domainB.cl;

ではなく

server_name domainB.cl www.domainB.cl;

、nginxはどの仮想ホストを使用すべきかを知りません。したがって、リクエストを構成内のデフォルトのリクエスト(domainA.comのリクエスト)にリダイレクトします。サイト対応から仮想ホストを削除した場合も同じことが当てはまります。nginxはデフォルトの仮想ホストを使用します。

これを解決するには、www.domainB.clの仮想ホストを追加する必要があります。

1
etagenklo