サブドメインとプロキシサーバーの nginx 構成

サブドメインとプロキシサーバーの nginx 構成

私はここで他の多くの投稿ソリューションを試しましたが、誰も私の問題を解決するのを手伝ってくれませんでした。私は、https を使用したシンプルな nginx 構成と、メイン パス/とサブドメイン用の別のパスを持つ node.js アプリを持っています/api。正しくアクセスできますmywebapp.comが、アクセスしようとすると、api.mywebapp.com「nginx へようこそ」ページにリダイレクトされます。DNS レコードは、api.mywebapp.comサーバーの IP アドレスを指しています。

これは私の nginx 設定ブロックです:

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    server_name mywebapp.com;

    # SSL
    include /etc/letsencrypt/mycerts.conf;
    include /etc/letsencrypt/options-ssl-nginx.conf;

    # reverse proxy
    location / {
        proxy_pass http://localhost:8000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_cache_bypass $http_upgrade;
    }
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    server_name api.mywebapp.com;

    # SSL 
    include /etc/letsencrypt/mycerts.conf;      
    include /etc/letsencrypt/options-ssl-nginx.conf;

    location /api {
        limit_req zone=mylimit;
        proxy_pass http://localhost:8000/api;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_cache_bypass $http_upgrade;
    }
}

何が足りないのでしょうか?

答え1

プロキシの設定

location /api {
  # ...
}

したがって、 でのみ到達可能ですhttps://api.mywebapp.com/api/

おそらくこれを次のように変更したいでしょう

location / {
  proxy_pass http://localhost:8000/api;  # <- keep this
  # ...
}

関連情報