nginx 配置反代理 怎么让目标站点所有资源都走反代的流量呢

2020-04-20 12:06:04 +08:00
 rrZ2C

我的想法是通过反代访问一个局域网的网站

目标站点里面把 css 地址写死成了 http://192.168.160.9.......css 所以现在可以通过 172.xx.xx.xx:8081 访问到首页,但是 css 文件依然是尝试去链接 192 这个目标 ip

最后的效果是首页会卡很久最后给出一个没有 css 加持的 html 骨架

目前我的配置比较简单是这样的,请问有没有什么办法让所有都过反代的流量呢

server {
listen 8081;
server_name 127.0.0.1;#对外暴露为 172.xx.xx.xx
location / { # 斜杠(/)代表根目录
#root html; #代表 html 路径
proxy_pass http://192.168.160.9;# //转发地址
index index.html index.htm index.php *;
}
}
2238 次点击
所在节点    NGINX
6 条回复
abcbuzhiming
2020-04-20 12:14:04 +08:00
如果要实现你的功能,需要 nginx 在向前端输出 css 的时候,批量的把 css 里的这个 ip 给替换掉才行,否则一旦这个 css 到了前端,前端再次请求的时候,是请求 192 这个地址,根本就不过你的 Nginx,nginx 做不到任何事情。
nginx 能不能替换资源中的内容,可能有插件能支持吧,你找找看
Tink
2020-04-20 12:15:04 +08:00
ngx_http_substitutions_filter_module
dangyuluo
2020-04-20 13:50:00 +08:00
装一个 nginx 插件,如果你不嫌麻烦的话

https://nginx.org/en/docs/njs/
defunct9
2020-04-20 14:50:19 +08:00
开 ssh,让我上去试试
rrZ2C
2020-04-20 15:04:18 +08:00
@abcbuzhiming
@Tink
@dangyuluo
上相应的模块 配置 sub_filter_types *; 提交,目前看起来 ok 多谢哈

@defunct9 192.168 的那个 IP 请使劲 ssh
defunct9
2020-04-20 16:08:04 +08:00
@rrZ2C 自己解决了最好,那就不用 ssh 了

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

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

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

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

© 2021 V2EX