V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
torment5524
V2EX  ›  NGINX

请教能否让 nginx 的反向代理调用外部正向代理

  •  
  •   torment5524 · 2020-08-19 11:02:51 +08:00 · 2162 次点击
    这是一个创建于 1338 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近被安排协助解决同事项目的一个很棘手的问题,业务场景简化描述如下
    1 、A 系统需要通过正向代理 B 才能调用 C 系统;
    3 、对 B 和 C 没有管理权限,目前只能远程操作 A 服务器,A 是 java 开发,接口是 http 接口,A 自身没有代理功能,可以修改配置文件修改目标地址,但是不能动他们的代码;
    目前测试了几种方案都失败了
    1 、通过设置全局的 http_proxy,失败,java 默认不走这个;
    2 、通过 A 系统本机装的 nginx 反代,但是 nginx 也不走全局代理;

    目前只有两个选择
    1 、额外开发一个反代服务,实现反代二次调用正向代理访问;
    2 、能否让 nginx 的反向代理调用正向代理?

    因为 ABC 都不是我们这边的,给他做一个服务,后续会进坑,所以想问问有没有 nginx 的方案,或者是其他的解决方案。。。
    8 条回复    2020-08-27 18:26:37 +08:00
    wangritian
        1
    wangritian  
       2020-08-19 13:48:19 +08:00
    修改 A 系统的 hosts 将 C 域名指向 B 的 IP 呢
    torment5524
        3
    torment5524  
    OP
       2020-08-19 15:18:53 +08:00
    @wangritian 都没域名的,全都是 ip 。。
    torment5524
        4
    torment5524  
    OP
       2020-08-19 15:21:48 +08:00
    @fengjianxinghun 感谢,这个方案可以解决这个问题,正好他们服务是 weblogic 的,我中午也抽空用 netty 的 sample 代码改了个方向代理调正向代理的服务出来,双管齐下了
    torment5524
        5
    torment5524  
    OP
       2020-08-19 19:06:39 +08:00
    @fengjianxinghun 验证通过了,很稳,是个内网的产品走代理访问互联网服务的。
    fengjianxinghun
        6
    fengjianxinghun  
       2020-08-20 09:50:42 +08:00
    @torment5524 你的标题起的 nginx 方案,要不是误点进来,根本不会看正文。。
    torment5524
        7
    torment5524  
    OP
       2020-08-27 09:01:10 +08:00
    @fengjianxinghun 大佬,又遇到个新问题,他这个应用是个大杂烩,有多种 http 请求的写法,挂上 jvm 代理之后,有的走,有的不走,我自己调试了下,用 apache 的 httpclient 写的代码和 netty 好像都是不走这个代理的,这种还有救吗
    torment5524
        8
    torment5524  
    OP
       2020-08-27 18:26:37 +08:00
    @fengjianxinghun 查了下,只能改代码,最终方案是用 netty 撸了个反向代理再走正向代理的服务挂上去搞定了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1954 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 16:17 · PVG 00:17 · LAX 09:17 · JFK 12:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.