私はNGINXを初めて使用しており、ERP Webサーバーの負荷を分散しようとしています。 私は私にはブラックボックスです、WebSphereが提供ポート80上で実行されている3 Webサーバを持っている:NGINX設定:
* web01.example.com/path/apphtml
* web02.example.com/path/apphtml
* web03.example.com/path/apphtml
nginxのは、仮想URL ourerp.example.comをリッスンし、クラスタにプロキシされます。ここで
は私の設定です:upstream myCluster {
ip_hash;
server web01.example.com:80;
server web02.example.com:80;
server web03.example.com:80;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name ourerp.example.com;
location/{
rewrite ^(.*)$ /path/apphtml break;
proxy_pass http://myCluster;
}
}
私だけproxy_pass、その後、nginxのロードバランスを使用しますが、web01.example.comに要求を転送していない
web01.example.com/path/apphtmlときURLの書き換えを追加しようとすると、単に仮想URLが書き換えられ、私はourerp.example.com/path/apphtmlで終わります。
アップストリームレベルでURL書き換えを行うことも、アップストリームレベルでアプリにパスを追加することもできますか?
リチャード、ご返信ありがとうございます。あなたが言及したようにプロキシを試してみましたが、NGINX要求はブラウザに送り返され、パスが追加された仮想URLであり、クラスタ内のサーバの1つを使用しません。 –
ありがとうございました。さらにトラブルシューティングを行った結果、ロードバランサのURLを正しく使用していないことがわかった。 ourerp.example.comの代わりにourerp.example.com/path/apphtml/を使用すると、ロードバランシングが行われました。 –