要求パスに応じて異なるポートを持つホストマシン上で実行されている別のサーバーへのプロキシ要求にnginxを設定しようとしています。もう少し複雑なことに、すべてのアプリでsslを使用したいと思っています。言い換えれば、私は次のことを行うことがnginxの希望:NGINX:異なるポートを持つlocalhost上の複数のアプリケーションへのパスに基づくSSLプロキシ
私は今のところ(非常に動作していないもの)だ何https://www.example.com/app1 --> http://localhost:8001
https://www.example.com/app2 --> http://localhost:8002
https://www.example.com/app3 --> http://localhost:8003
...
:
# redirecting from http to https
server {
listen 80;
301 https://$host$request_uri;
}
# proxying path to port
server {
listen 443;
ssl_certificate /path/to/cert.pem
ssl_certificate_key /path/to/privkey.pem
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
location /app1 {
proxy_pass http://localhost:8001
}
location /app2 {
proxy_pass http://localhost:8002
}
location /app3 {
proxy_pass http://localhost:8003
}
}
何が起こって終わることはnginxのは、1つの特定のアプリを公開するということです(それが最初にあった)。
私が間違っていることについてのアイデアは高く評価されます。ありがとう。あなたのブラウザ `/ app3`は最初それが動作し、残りの部分がない場合
であなたの.CRT、.kryファイルをコピーします。作業?何がうまくいかない? –
@TarunLalwani、はい、 '/ app3'のみが動作し、' https:// www.example.com/app1'を試してみると、 '.../app1'を得ることはできません。また、 'https:// www.example.com /'を試してみると '/ app3'と表示されます。 –
あなたのアプローチがうまくいかず、アプリ自体がルートディレクトリで動作すると複雑になるのではないかと心配しているので、あなたは 'http:// localhost:8001/app1'のように動作する可能性はありますか? –