Как я могу направить свои Angular API Calls через хостинг-сервер? - PullRequest
1 голос
/ 30 мая 2019

У меня есть приложение с угловым интерфейсом 7 и API-интерфейсом dotnet core 2.2. API существует на защищенном корпоративном сервере, а угловой интерфейс существует на хост-сервере. IP-адрес хост-сервера входит в белый список на брандмауэре сервера API, но поскольку вызовы API поступают с IP-адреса пользователя, а не с IP-адреса хост-сервера, все запросы блокируются.

Например, если пользователь 1 имеет IP-адрес A и делает запрос из приложения веб-интерфейса, он отправляет серверу API IP-адрес A, а не IP-B (IP-адрес сервера веб-интерфейса). Затем запрос блокируется, поскольку только IP B занесен в белый список.

Есть ли способ обойти это? Могу ли я заставить запрос прийти с IP-адреса сервера переднего плана?

Ответы [ 2 ]

2 голосов
/ 30 мая 2019

Что вы можете сделать, это вы можете отправить подробности операции из углового приложения на ваш хост-сервер.Затем на основе деталей операции выясните, какой API нужно вызвать.Вызов этого API из ядра dotnet.И отправьте результат обратно вашему клиенту.Таким образом, ваш хостинг-сервер действует как шлюз между API и клиентом.

Это также зависит от того, какой хостинг вы делаете.Если у вас есть возможность, вы можете написать этот шлюз в NodeJS, если есть ограничения в отношении платформы.

1 голос
/ 30 мая 2019

Этого следовало ожидать, запрос выполняет клиент, а не сервер.

На сервере, где размещен ваш Angular-интерфейс, создайте простой прокси-сервер, который получает запросы API от клиентов, а затем перенаправляет их на ваш внутренний сервер. Вы можете написать его практически на любом языке, который поддерживает ваш сервер.

Затем обновите приложение Angular, чтобы оно указывало на этот новый URL, и все запросы к вашему внутреннему API-серверу будут поступать с вашего белого IP-адреса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...