2016-11-27 6 views
1

Я работаю над приложением, где каждый клиент имеет свой профиль. Одна из возможностей позволяет отправлять запросы SOAP в системы, принадлежащие клиентам. В настоящее время все общение с веб-службами клиентов проходит по одному IP-адресу, как и приложение. Я хотел бы, чтобы SOAP-связь имела свой собственный IP-адрес, отдельно от остальных приложений.PHP-приложение, веб-службы и отдельные IP-адреса

Приложение написано в PHP используя UserFrosting рамки и в скором времени будет размещен на Амазонке AWS.

Возможно ли такое разделение? Можно ли это сделать на уровне PHP?

Причина этого требования заключается в том, чтобы позволить клиентам использовать белый список только связанных с Интернетом IP-адресов в своих брандмауэрах.

ответ

1

Короткий ответ: нет, это невозможно сделать с помощью PHP.

PHP с точки зрения SOAP работает на прикладном уровне модели OSI (HTTP), поэтому это означает, что IP-адрес уже назначен при использовании этого слоя.

https://en.wikipedia.org/wiki/OSI_model

Чтобы сделать это, вы можете иметь два веб-сервера (Main & SOAP), которые взаимодействуют на внутренний диапазон IP, но запросы на SOAP бы исходящий от его собственный адрес WAN, который вы бы тогда дать клиентам , Если вы не хотите идти по пути двух серверов, второй сетевой карты (Virtual/Hardware) и Apache Слушая правил на сервере может достичь подобных результатов:

https://serverfault.com/questions/511018/how-to-configure-apache-to-run-on-multiple-network-interfaces#511020

Другой способ сделать это, общаться с клиентскими сайтами с использованием другого TCP-порта для SOAP-запросов. Например, вы можете отправлять все SOAP-запросы на IP-адрес клиентов WAN на порт 8080, а не на 80, и заставить клиента установить входящий NAT (трансляция сетевых адресов) на своем брандмауэре для преобразования всего трафика, поступающего с вашего IP-адреса WAN из TCP 8080 для преобразования обратно в TCP 80, чтобы сервер мог выполнить запрос. Затем им потребуется преобразовать это обратно в TCP 8080, если ваш сервер прослушивает этот порт.

 Смежные вопросы

  • Нет связанных вопросов^_^