服务器问答

nginx 配置反代理 怎么让目标站点所有资源都走反代的流量呢
0
2021-05-20 00:00:18
idczone

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

目标站点里面把 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 *;
}
}

如果要实现你的功能,需要 nginx 在向前端输出 css 的时候,批量的把 css 里的这个 ip 给替换掉才行,否则一旦这个 css 到了前端,前端再次请求的时候,是请求 192 这个地址,根本就不过你的 Nginx,nginx 做不到任何事情。
nginx 能不能替换资源中的内容,可能有插件能支持吧,你找找看

ngx_http_substitutions_filter_module

装一个 nginx 插件,如果你不嫌麻烦的话
https://nginx.org/en/docs/njs/

开 ssh,让我上去试试




上相应的模块 配置 sub_filter_types *; 提交,目前看起来 ok 多谢哈
192.168 的那个 IP 请使劲 ssh

自己解决了最好,那就不用 ssh 了

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服