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。因此假设在实际环境下,还须要改成域名。


原文地址:https://www.cnblogs.com/blfbuaa/p/6879953.html