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

2020-12-29 12:43:13 +08:00
 inktiger

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

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

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

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

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

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

感觉各位,我研究研究

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/739917

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX