公司做的是一个聚合第三方接口的一个应用,需要对接第三方和客户来跟我们对接我们给客户发送 http 回调通知的一个操作,第三方接口那边需要我们给一个请求他们服务器的 ip 加到白名单才能请求他们,用户这边也是需要我们给一个回调他们接口的服务器的 ip 他们加入白名单供他们校验来源权限。
这就造成一个问题是,我们假如微服务部署的是 20 台,肯定是不能直接在某个服务器直接使用代码内置的 HTTP 请求方法直接请求,我目前想到的是专门拿出一台内存较大,带宽较高的服务器,上面专门只部署一个微服务项目只有一个接口,我通过传参 url 及相应请求参数,去调用可能有 IP 加入白名单才能访问的目标。届时,我不管部署 20 台 30 台服务,他们如要请求第三方接口直接去调用这台专门对外调用 url 的接口,由这个接口请求到了返回结果,不知道这种方案是否可行及长远。
在网上找了找可能是我搜索关键字不对,没什么实质性的东西。想问问,比如像支付宝和微信他们这种,对接了这么多公司,假如也有给别人回调,别人也需对他们回调的服务器做 IP 白名单限制,他们那种量级,是如何做的呢。
同时也请教下各位还有无更好的方案
1
zzzbkl 2020-12-29 12:53:11 +08:00 via Android 1
ip 层的事情可以在 ip 层解决,试试 iptables,找台有白名单 ip 的机器做 nat
|
3
oott123 2020-12-29 13:04:15 +08:00 1
就是一个多台机器共享出口 IP 的问题,访问量不大的话 NAT 就能解决,比如阿里云的 NAT 网关之类的服务。
|
4
saytesnake 2020-12-29 13:09:18 +08:00 1
拿一台机器做出口,iptables ( firewalld or ufw )做 NAT 。
如果是公有云机器则需要配置路由表,没达到一定量级则没必要购买 NAT 网关之类的产品。 |
5
inktiger OP |