1. 程式人生 > >BasePath問題-nginx負載均衡配置

BasePath問題-nginx負載均衡配置

.... class ip地址 htm post 細致 rpo 均衡 css

在配置nginx+tomcat好後。將項目加入到webapps中。發現訪問主頁時,css與js訪問不到,導致主頁布局出錯。細致分析原因後發現css與js的地址是basePath得出的。而basePath定義例如以下:

String basePath=request.getScheme() + request.getServerName()+request.getServerPort()+path;
當中

1、request.getScheme()返回協議的名稱   http。和後面的"://" 拼起來就成了 http://
2、request.getServerName()這是獲取你的server的名稱
3、request.getServerPort()是獲取服務port號
我在nginx定義了一個虛擬IP地址。而原來是這種:

upstream test{
        server 192.168.232.129:8080 weight=1;
        server 192.168.232.130:8080 weight=1;
        server 192.168.232.135:8080 weight=1;
}
但是這樣訪問css會導致這種地址:http://test/項目名/....css,因為是指向域名,因此在測試過程中域名沒有,所以改成例如以下方式:

upstream 192.168.232.140{
        server 192.168.232.129:8080 weight=1;
        server 192.168.232.130:8080 weight=1;
        server 192.168.232.135:8080 weight=1;
}
通過上述改變能夠達到訪問的要求了,只是實際IP地址就暴露了,http://192.168.232.140/項目名/....css。因此假設在實際環境下,還須要改成域名。


BasePath問題-nginx負載均衡配置