我的情况如下:我有一台服务器 (A),设置了与第三方服务器 (B) 的 VPN 连接。我有一组其他服务器(C、D、E...),它们与我的 VPN 连接服务器 (A) 共享相同的专用网络。
第三方服务器(B)提供可通过HTTP访问的RESTful API。例如,AI 可以从服务器请求一些 URL:
$ curl http://<server-B-vpn-ip-address>/path/to/whatever
我将收到包含适当数据的 JSON 响应。
我希望能够通过调用服务器 A 从任何服务器(C、D、E...)访问服务器 B 的 API。例如:
$ curl http://<server-A-private-ip-address>/path/to/whatever
然后,服务器 A 应该将该请求转发给服务器 B,并且它应该将 JSON 响应返回给最初请求它的服务器。
我已经研究了几种使用 iptables 解决此问题的可能方法,但没有成功,但老实说,我不知道在这种情况下适合这项工作的工具是什么。有人有什么想法吗?
答案1
我最终通过在服务器 A 上实现反向代理来解决这个问题,该代理在将请求转发到服务器 B 之前修改了请求标头。