V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
inktiger
V2EX  ›  Java

对外有一台服务器,请教如何使用实现一个量比较大的代理请求 URL 方案

  •  
  •   inktiger · 2020-12-29 12:43:13 +08:00 · 1825 次点击
    这是一个创建于 1457 天前的主题,其中的信息可能已经有所发展或是发生改变。

    公司做的是一个聚合第三方接口的一个应用,需要对接第三方和客户来跟我们对接我们给客户发送 http 回调通知的一个操作,第三方接口那边需要我们给一个请求他们服务器的 ip 加到白名单才能请求他们,用户这边也是需要我们给一个回调他们接口的服务器的 ip 他们加入白名单供他们校验来源权限。

    这就造成一个问题是,我们假如微服务部署的是 20 台,肯定是不能直接在某个服务器直接使用代码内置的 HTTP 请求方法直接请求,我目前想到的是专门拿出一台内存较大,带宽较高的服务器,上面专门只部署一个微服务项目只有一个接口,我通过传参 url 及相应请求参数,去调用可能有 IP 加入白名单才能访问的目标。届时,我不管部署 20 台 30 台服务,他们如要请求第三方接口直接去调用这台专门对外调用 url 的接口,由这个接口请求到了返回结果,不知道这种方案是否可行及长远。

    在网上找了找可能是我搜索关键字不对,没什么实质性的东西。想问问,比如像支付宝和微信他们这种,对接了这么多公司,假如也有给别人回调,别人也需对他们回调的服务器做 IP 白名单限制,他们那种量级,是如何做的呢。

    同时也请教下各位还有无更好的方案

    5 条回复    2020-12-29 13:14:13 +08:00
    zzzbkl
        1
    zzzbkl  
       2020-12-29 12:53:11 +08:00 via Android   ❤️ 1
    ip 层的事情可以在 ip 层解决,试试 iptables,找台有白名单 ip 的机器做 nat
    sujin190
        2
    sujin190  
       2020-12-29 12:57:19 +08:00   ❤️ 1
    @zzzbkl #1 说的对,iptables 流量重定向,然后端口转发就是了,毫无压力
    oott123
        3
    oott123  
       2020-12-29 13:04:15 +08:00   ❤️ 1
    就是一个多台机器共享出口 IP 的问题,访问量不大的话 NAT 就能解决,比如阿里云的 NAT 网关之类的服务。
    saytesnake
        4
    saytesnake  
       2020-12-29 13:09:18 +08:00   ❤️ 1
    拿一台机器做出口,iptables ( firewalld or ufw )做 NAT 。

    如果是公有云机器则需要配置路由表,没达到一定量级则没必要购买 NAT 网关之类的产品。
    inktiger
        5
    inktiger  
    OP
       2020-12-29 13:14:13 +08:00
    @zzzbkl
    @sujin190
    @oott123
    @saytesnake

    感觉各位,我研究研究
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3023 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 13:46 · PVG 21:46 · LAX 05:46 · JFK 08:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.