由于一台服务器 80 端口被封用的是 9090 (这台上用 nginx 反代到多个 tomcat docker )
以想在另一台服务器上 80 用 nginx 反代回去
在给一台服务器 nginx 代理到另一台服务器上的 java 项目时,
发现其中的静态资源加载的还是原服务器域名的,
发现项目里用了<base>标签来加载静态资源 取的<base href="<%=basePath %>" />,
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"
所以只代了个主页,一点其他就跳回原服务器域名了
配置
listen 80 ;
server_name xxx2;
location / {
proxy_redirect off;
proxy_set_header Host xxx;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://xxx:9090;
}
xxx2 页面上的<base>是 xxx:9090, 这有什么好办法可以解决吗
以想在另一台服务器上 80 用 nginx 反代回去
在给一台服务器 nginx 代理到另一台服务器上的 java 项目时,
发现其中的静态资源加载的还是原服务器域名的,
发现项目里用了<base>标签来加载静态资源 取的<base href="<%=basePath %>" />,
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"
所以只代了个主页,一点其他就跳回原服务器域名了
配置
listen 80 ;
server_name xxx2;
location / {
proxy_redirect off;
proxy_set_header Host xxx;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://xxx:9090;
}
xxx2 页面上的<base>是 xxx:9090, 这有什么好办法可以解决吗