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

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

  •  
  •   NASK · 16 天前 · 673 次点击

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

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

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