
私はここで他の多くの投稿ソリューションを試しましたが、誰も私の問題を解決するのを手伝ってくれませんでした。私は、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
# ...
}