10.240.218.91上部署了一个工具(类似jupyter一样),可以通过https://10.240.218.91/直接访问,并使用。
现在想通过https://10.240.218.90/vtune-o...这个地址,打开这个工具,也就是能获取https://10.240.218.91/上的内容,nginx配置如下:
location = /vtune-open {
proxy_pass https://10.240.218.91/;
proxy_set_header Host $host;
client_max_body_size 5000m;
error_page 502 =203 /50x.html;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
问题是https://10.240.218.91/的静态资源,比如https://10.240.218.91/socket.js现在变成了访问https://10.240.218.90/socket.js,结果就是not found。
我搜索了一圈,有人建议是只要包含js,css之类后缀的,都再次反向代理,全部指向10.240.218.91。
但是,因为本身https://10.240.218.90/下面,本身是一个完整的项目,有很多自己的静态资源,这样就使得https://10.240.218.90/无法正常访问了.
这种问题,能通过修改nginx配置做到吗?还是需要通过前端来弄呢?
nginx第一次配置,实在没办法了,救救孩子吧。。。
补:最后总结,就是想要实现,rewrite到https://10.240.218.91/,但使得浏览器地址保持https://10.240.218.90/vtune-o...不变。。。我搜了一圈,好像实现不了。。。唉
如果你访问的工具是个网页的话建议你不要用二级路径。因为网页中会再次请求js和css以及其他静态资源,而这些静态资源是不会带上二级路径/vtune-open/ 的
可以用端口的方式,比如你在90机器上开启8090端口,然后反向代理到91的机器