红包找人帮忙解决, nginx 反向代理目录到另一台服务器的规则设置问题

2018 年 3 月 17 日
 mickey001

location /vip { proxy_pass http://192.168.1.111/; }

location ^~/abc{ proxy_next_upstream http_502 http_504 error timeout invalid_header; proxy_pass http://192.168.1.201/abc; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; break; }

以上 2 个规则,都可以正常解析反代到 另外的服务器,

比如,我的网站域名是 www.abc.com 是在 198.1.1.6 这台服务器,我需要反向解析一个 目录到 另一台服务器, 比如反向解析后的目录名是:www.abc.com/vip

那么我的规则这样写是对的:

location /vip { proxy_pass http://192.168.1.111/; }

但是现在有个问题,目录可以成功解析到另一台服务器,但是 目录程序里的 css jss 图片都无法加载显示,

所以现在红包找人帮忙解决 css jss 图片的加载显示问题。。

能解决的速速联系我 企鹅号: 二七四七零七零零九五

5379 次点击
所在节点    NGINX
9 条回复
mickey001
2018 年 3 月 17 日
今天好多 休息的啊。。。真羡慕
qinxi
2018 年 3 月 17 日
因为 css/js 的根路径不是 /vip 开头呗.... 不是 vip 开头就不匹配你的反向代理了
mickey001
2018 年 3 月 17 日
@qinxi 那应该怎么解决?
CloudnuY
2018 年 3 月 17 日
vip 后面加上"/"试试

location /vip/ {.......
w0nglend
2018 年 3 月 17 日
location ~* ^/(css|js)/.+\.(css|js)$ {
#checking if referer is from /vip
if ($http_referer ~ "^.*/vip"){
return 417;
}
}

error_page 417 /vip$request_uri;

location ^~ /vip {
proxy_pass http://192.168.1.111/;
}
salmon5
2018 年 3 月 17 日
@w0nglend
@mickey001
用 ngx_http_sub_module 也可以
location /vip {
proxy_pass http://192.168.1.111/;
sub_filter 'href="/' 'href="/vip/';
sub_filter 'src="/' 'src="/vip/';
#sub_filter_types text/html;
#sub_filter_types *;
sub_filter_once off;
}
mickey001
2018 年 3 月 17 日
@salmon5 试了下,规则报错
mickey001
2018 年 3 月 17 日
愁死我了,,找了 N 个 人了帮忙弄,都没弄明白。。。。。哪位能救救命
plusice
2018 年 3 月 18 日
把`location /vip { proxy_pass http://192.168.1.111/; }`中 proxy_pass 后面的斜杠去掉应该就可以了,搜一下不就有答案了吗: http://blog.csdn.net/zhongzh86/article/details/70173174

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/438949

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX