3
我是NGINX的新手,我試圖平衡我們的ERP網絡服務器。 我有3個網絡服務器的80端口上運行由WebSphere這是一個黑盒子對我說: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,它不使用集羣中的服務器 –
感謝您的幫助。在發現更多問題後,我發現我的問題是我沒有正確使用負載平衡器URL。一旦我使用ourerp.example.com/path/apphtml/而不是ourerp.example.com,我就是負載均衡。 –