Вам потребуется прокси-запросы API от ваших пользователей, так что вашему поставщику API все запросы, как представляется, исходят с того же статического IP-адреса, который будет внесен в белый список.
Прокси-сервер - это пассивный программный компонент, который по сути получает запросы на одном конце и направляет их на сервер API на другом конце. Другими словами, он делает вызовы API от имени ваших пользователей.
Вы можете использовать NGINX, HAProxy или просто любой доступный обратный прокси-сервер или написать собственный, используя язык по вашему выбору - так как это не сложное назначение.
Здесь показано, как настроить обратный прокси-сервер с помощью HAProxy на компьютере с Linux.
Сначала установите haproxy
с терминала linux
apt update && apt install haproxy
Затем перейдите в папку /etc/haproxy
cd /etc/haproxy
Переименуйте файл конфигурации по умолчанию в haproxy.cfg.backup
mv haproxy.cfg{,.backup}
Теперь создайте новый файл конфигурации, 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
IP-адресом провайдера API, а 443 - фактическим портом.
Если API не использует HTTPS, удалите опцию ssl
8080
- это порт, к которому ваши пользователи будут подключаться. Измени на что хочешь.
Теперь запустите haproxy, используя следующую команду:
haproxy -D -f haproxy.cfg
Вы можете убедиться, что haproxy прослушивает порт 8080
telnet localhost 8080
Настройте приложение для вызова API пополнения баланса через URL-адрес прокси, который будет:
http://your_server_ip_address:8080/your/api/url
Вам потребуется настроить HTTPS в производственной среде.
Проверьте ссылку ниже о том, как настроить SSL с haproxy
https://www.ibm.com/support/knowledgecenter/en/SSTPQH_1.0.0/com.ibm.cloudant.local.install.doc/topics/configure_haproxy.html
Дайте мне знать, если это поможет.