V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
NASK
V2EX  ›  问与答

如何让不联网正式机通过联网的测试机向外网指定域名发请求?

  •  
  •   NASK · 4 天前 · 528 次点击

    正式机不联网,测试机联网,正式机可以和测试机通讯,spring boot 项目需要使用某个 SDK 发消息到外网,SDK 使用的域名是写死的( https://..com ,SDK 发送请求使用的依赖是 apache 的 httpclient 。万能的 V 友,应该如何才能优雅的把请求发出去?

    13 条回复    2025-01-14 03:26:54 +08:00
    aminobody
        1
    aminobody  
       4 天前
    SOCKS 代理
    NASK
        2
    NASK  
    OP
       4 天前
    @aminobody #1 可以详细说一下吗,目前那个 SDK 的 httpclient 对象是 new 出来的,不被 spring 管理,除非使用 AspectJ 的 aop ,不然无法修改 sdk 发请求时的行为()。
    NASK
        3
    NASK  
    OP
       4 天前
    liangxiangdong
        4
    liangxiangdong  
       4 天前
    我能想到的两个方案是
    liangxiangdong
        5
    liangxiangdong  
       4 天前   ❤️ 1
    我能想到的两个方案是
    1.配置 hosts,然后另外一台机器 nginx 代理出去。
    2.配置有网那台机器为网关,iptables 配置一下转发。
    yinmin
        6
    yinmin  
       4 天前   ❤️ 1
    最优雅的方式:在测试机的 443 端口架设 SNI Proxy ,然后正式机的 hosts 文件将域名指向测试机 ip 地址
    aminobody
        7
    aminobody  
       4 天前
    @NASK #2 proxychains4 , 不需要修改代码.
    dcsuibian
        8
    dcsuibian  
       4 天前
    正式机加条路由,测试机开启转发不就好了?
    NASK
        9
    NASK  
    OP
       4 天前
    @yinmin #6 可以通过一下思路吗,我尝试了在联网的测试机使用 https://gost.run/tutorials/protocols/sni/,正式机在 hosts 把域名对应的 ip 设置成测试机,但是在正式机使用 curl 无法访问我测试的域名
    NASK
        10
    NASK  
    OP
       4 天前
    @yinmin #6 解决了,感谢
    yinmin
        11
    yinmin  
       4 天前 via iPhone   ❤️ 1
    @NASK #10 建议加 sni 白名单,只允许特定的域名通过 sni proxy 提升安全性(主要是避免给被扫描出来,有些单位是要吃罚单的)
    jeesk
        12
    jeesk  
       4 天前 via Android
    1. 如果固定域名不变,可以采用 Tun proxy 和自定义 dns 解析。

    2. 如果用 java 直接使用 proxyselecor 接管请求就行了。
    LOVOQ
        13
    LOVOQ  
       4 天前
    iptables 配置一下出入站白名单应该就行。其他流量 deny 掉。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2993 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 06:43 · PVG 14:43 · LAX 22:43 · JFK 01:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.