BasePath问题-nginx负载均衡配置
在配置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。因此假设在实际环境下,还须要改成域名。