nginx: 2 つのドメイン -> 2 つのアプリ -> 1 つのサーバー

nginx: 2 つのドメイン -> 2 つのアプリ -> 1 つのサーバー

これは非常に簡単なはずですが、設定に一日中苦労しています。これが私の conf ファイルです:

# Expires map
  map $sent_http_content_type $expires {
    default                    off;
    text/html                  epoch;
    text/css                   max;
    application/javascript     max;
    ~image/                    max;
}


server {
    listen  80;
    server_name www.firstdomain.com firstdomain.com;
    root /path/to/project/;
    error_log /var/log/nginx/error.log;

}

server {
    listen 443 ssl http2; # managed by Certbot
    server_name www.firstdomain.com;
    error_log /var/log/nginx/error.log;

    proxy_read_timeout  90;
    expires $expires;

    location / {
        include proxy_params;
        proxy_read_timeout  90;
        proxy_pass http://xx.xxx.xxx.xxx:8001;

    }

    location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        alias /path/to/static/;
    }

    location /media/ {                        
        alias /path/to/media/;
    }

    location  /robots.txt {
        alias  /path/to/robots.txt;
    }

    ssl_certificate /etc/letsencrypt/live/firstdomain.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/firstdomain.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

    if ($host = 'firstdomain.com') {
        return 301 https://www.firstdomain.com$request_uri;
    }

    if ($scheme != "https") {
        return 301 https://www.firstdomain.com$request_uri;
    } # managed by Certbot
}

これは私の 2 番目のドメインで、sites-available 内の別のファイルに保存されています。

server {
    listen 80;
    server_name www.second-domain.com second-domain.com;
    error_log my-domain-path/nginx.log;

    location /
    {
        proxy_pass http://www.second-domain.com:8002;
    }
}

両方のアプリはスーパーバイザーによって管理されており、両方とも正常に起動します。ただし、www.second-domain.com に移動すると、firstdomain.com のコンテンツが表示されます。

IP:PORT の場所に移動すると 2 番目のドメインのコンテンツが表示されるので、2 番目のドメインのコンテンツは機能して実行されていると確信していますが、ドメイン名では機能しません。

なぜ?

編集: nginx -t の結果をリクエストとして

 nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
 nginx: configuration file /etc/nginx/nginx.conf test is successful

関連情報