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

2018-03-17 17:21:08 +08:00
 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 图片的加载显示问题。。

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

4812 次点击
所在节点    NGINX
9 条回复
mickey001
2018-03-17 17:30:50 +08:00
今天好多 休息的啊。。。真羡慕
qinxi
2018-03-17 17:43:57 +08:00
因为 css/js 的根路径不是 /vip 开头呗.... 不是 vip 开头就不匹配你的反向代理了
mickey001
2018-03-17 17:55:19 +08:00
@qinxi 那应该怎么解决?
CloudnuY
2018-03-17 18:03:52 +08:00
vip 后面加上"/"试试

location /vip/ {.......
w0nglend
2018-03-17 19:18:20 +08:00
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-03-17 22:16:14 +08:00
@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-03-17 22:40:12 +08:00
@salmon5 试了下,规则报错
mickey001
2018-03-17 22:50:32 +08:00
愁死我了,,找了 N 个 人了帮忙弄,都没弄明白。。。。。哪位能救救命
plusice
2018-03-18 11:48:17 +08:00
把`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