私はサーバー管理者というよりはプログラマーなので、質問は些細なことに思えるかもしれませんが、nginx リバース プロキシで要求を適切なサーバーに転送することはできません... まず、ここに私の構成ファイルがあります (サイト内の-利用可能、サイト対応のシンボリックリンク付き)
upstream nodejs1 {
server 127.0.0.1:3000;
}
upstream nodejs2 {
server 127.0.0.1:3001;
}
server {
server_name nodejs_proxy;
listen 0.0.0.0:80;
access_log /var/log/nginx/nodejs.log;
location /otherlocation/ {
rewrite /otherlocation/(.*) /$1 break;
proxy_pass http://nodejs1/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
}
location / {
proxy_pass http://nodejs2/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
}
}
したがって、にアクセスしようとするとhttp://myserver.com/
、すべて正常に動作し、ポート 3001 にリダイレクトされます。ただし、にアクセスしようとするとhttp://myserver.com/otherlocation/
、ポート 3001 にもリダイレクトされます (したがって、404 が返されます)。
上記のスニペットに、アクセスしようとしたときに適切なサーバーにリダイレクトするために正しく行われていないものはありますhttp://myserver.com/otherlocation/
か?
ありがとうございました
PS : myserver.com は、複数回 (開発、製造前、製造) 変更される傾向がある一時的なドメインであるため、すべての環境で機能するものを作成しようとしています。