如何将来自客户端的请求代理到另一台服务器

How to proxy requests from client to another server

我正在开发一个移动应用程序,它将从第 3 方获取一些信息 API。 API 只接受来自特定 IP 的请求,这就是为什么我要尝试构建一个代理服务器,其工作方式如下:

A -> Mobile Clients (IP: 1.1.1.1)
B -> Proxy Server (IP: 2.2.2.2)
C -> 3rd Party API (myapisite.com/*)

基本上,从A到C的每个请求都需要经过B,因为C只接受来自B的IP的请求。我尝试通过 HAProxy 构建它,但无法使用域名进行管理。我需要如下的路由机制:

HTTP requests to 2.2.2.2/myapi should be forwarded to myapisite.com/api
HTTP requests to 2.2.2.2/myotherapi should be forwarded to myapisite.com/otherapi

最简单的解决方案是什么?现在,我正在考虑使用 Ubuntu 作为代理服务器。

最小配置

listen fe_http
  mode tcp
  timeout client  60s
  timeout connect 2s
  timeout server  5s
  bind :::80 v4v6
  server destservr myapisite.com:80 check