わかりました。このタスクは単純なはずですが、機能させることができません。ドメイン名の後に(実際にはそのドメイン名のIPの後に)サブフォルダーを配置すると、同じサーバー上の特定のポートにリダイレクトされます。基本的に、多くのポートを使用する必要をなくしたいと思います。
これがそのための私のnginx設定です
server {
listen 80;
index index.html index.htm index.nginx-debian.html index.php;
server_name aaa.bbb.ccc.ddd;
location ^~ /app2 {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $Host;
proxy_pass http://aaa.bbb.ccc.ddd:8001;
}
}
したがって、aaa.bbb.ccc.ddd/app2にアクセスすると、これを http://aaa.bbb.ccc.ddd:8001 に解決したいと思います。
これはおそらく非常に複雑であることに注意してください。ここで何が欠けていますか?
パットありがとう
これをリバースプロキシの質問としてタグ付けしたので、ユーザーがブラウザにhttp://aaa.bbb.ccc.ddd/app2
のURLのみを表示するようにリクエストをプロキシする必要があることを想定しています。
location
ブロックを次のように変更できます。
location ~/app2(.*)$ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $Host;
proxy_pass http://aaa.bbb.ccc.ddd:8001$1;
}
ここでは、/app2
から$1
変数の後のURI部分をキャプチャし、proxy_pass
ディレクティブで使用します。