您需要代理来自用户的API请求,这样,对于您的API提供商,所有请求似乎都来自同一个静态IP地址,该地址将被列入白名单。
代理是一种被动软件组件,它基本上在一端接收请求,并将它们转发到另一端的API服务器。换句话说,它代表您的用户进行API调用。
您可以使用NGINX,HAProxy或任何可用的反向代理,或使用您选择的语言编写自定义代理 - 因为这不是一项困难的任务。
这里是如何在Linux机器上使用HAProxy设置反向代理。
首先,安装 haproxy 来自linux终端
haproxy
apt update && apt install haproxy
然后导航到文件夹 /etc/haproxy
/etc/haproxy
cd /etc/haproxy
将默认配置文件重命名为 haproxy.cfg.backup
haproxy.cfg.backup
mv haproxy.cfg{,.backup}
现在,创建一个新的配置文件, haproxy.cfg
haproxy.cfg
nano haproxy.cfg
使用以下内容,然后保存更改。
global log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners stats timeout 30s user haproxy group haproxy daemon defaults log global mode http timeout connect 5000 timeout client 50000 timeout server 50000 frontend api_proxy bind *:8080 mode http default_backend remote_api_server backend remote_api_server #replace 10.10.10.10 with the actual Ip address server server1 10.10.10.10:443 ssl
更换 10.10.10.10 使用API提供程序IP地址,使用443实际端口。
10.10.10.10
如果API未使用HTTPS,请删除 ssl 选项
ssl
8080 是您的用户将连接到的端口。改变你想要的任何东西。
8080
现在,使用以下命令启动haproxy:
haproxy -D -f haproxy.cfg
您可以验证haproxy正在侦听端口 8080
telnet localhost 8080
配置您的应用程序以通过代理URL调用充值API,该URL将是:
HTTP:// your_server_ip_address:8080 /你/ API / URL
您需要在生产环境中配置HTTPS。
请查看以下链接,了解如何使用haproxy配置SSL
https://www.ibm.com/support/knowledgecenter/en/SSTPQH_1.0.0/com.ibm.cloudant.local.install.doc/topics/configure_haproxy.html
如果这有帮助,请告诉我。
部署您选择的服务器可以是Ubuntu或Windows,您可以选择将您的请求路由到所需的第三方API的语言。
理想情况下,来自客户端的所有请求都将发送到您的服务器,然后您的服务器将向第三方解析请求并回复您的客户。
您可以查看可以针对您所需的用例进行扩展的NodeJS / Express REST实现示例。
https://scotch.io/tutorials/build-a-restful-api-using-node-and-express-4