QiangLi_strong 2017-06-16 02:43 采纳率: 0%
浏览 5646

Nginx反向代理中绝对目录如何处理?

场景需求

现要设计一个对外网关服务器,代理众多公司内部的其他服务。
现在使用的方法为nginx反向代理。
Nginx.conf中代码如下

location ^~ /services/ {
    ...
    proxy_pass 真实uri
    ...
}

遇到的问题

当某一个服务的html代码中包含对绝对目录的资源访问或者跳转时会出现问题。

比如要代理abc网站 10.10.10.10/
该网站的html中包含对 /static/a.jpg资源的访问。

当用户访问我的网关服务器时,调用的方法依次为
Get www.xxx.com/services/abc
Get www.xxx.com/static/a.jpg,此时会get失败。

现有的临时应对方法为在nginx.conf中添加对abc网站绝对目录的代理,如下

location /static/ {
    proxy_pass http://10.10.10.10/static/;
}

但是如果服务一多,就会冲突。

请问问题如何解决?

谢谢各位大神浏览。

  • 写回答

1条回答

  • oyljerry 2017-06-16 03:31
    关注

    Nginx你代理的时候应该只代理到Get www.xxx.com路径,后面的path (services,static等)都由被代理的服务器处理。

    评论

报告相同问题?

悬赏问题

  • ¥15 mmocr的训练错误,结果全为0
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀