如何将来自客户端的请求代理到另一台服务器
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
我正在开发一个移动应用程序,它将从第 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