![Nginx - サブドメインの設定が正しく機能しない](https://rvso.com/image/697379/Nginx%20-%20%E3%82%B5%E3%83%96%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%81%8C%E6%AD%A3%E3%81%97%E3%81%8F%E6%A9%9F%E8%83%BD%E3%81%97%E3%81%AA%E3%81%84.png)
最初に、以下にアクセスするときに正しく動作する conf ファイルを作成しましたhttp://www.domain.com
。
server {
listen 80;
listen [::]:80;
root /var/www/domain;
index index.html
server_name domain.com www.domain.com;
}
次に、サブドメイン用に別の conf ファイルを作成することにしました。
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 はサブドメインの仮想ホストをキャッチオール仮想ホストとして使用します。