PHP应用程序、web服务和;单独的IP地址

PHP应用程序、web服务和;单独的IP地址,php,web-services,network-programming,userfrosting,Php,Web Services,Network Programming,Userfrosting,我正在开发一个应用程序,每个客户都有自己的个人资料。其中一个特性允许向客户拥有的系统发送SOAP请求。 目前,与客户web服务的所有通信都通过一个IP地址进行,与应用程序相同。我希望SOAP通信有自己的IP,独立于应用程序的其余部分 该应用程序是使用框架用PHP编写的,不久将托管在亚马逊aws上 这种分离可能吗?这可以在PHP级别上完成吗 此要求背后的原因是允许客户在其防火墙中仅将与Web服务相关的IP列为白名单。简短的回答是否,这不能通过PHP实现 就SOAP而言,PHP在OSI模型(HTTP

我正在开发一个应用程序,每个客户都有自己的个人资料。其中一个特性允许向客户拥有的系统发送SOAP请求。 目前,与客户web服务的所有通信都通过一个IP地址进行,与应用程序相同。我希望SOAP通信有自己的IP,独立于应用程序的其余部分

该应用程序是使用框架用PHP编写的,不久将托管在亚马逊aws

这种分离可能吗?这可以在PHP级别上完成吗


此要求背后的原因是允许客户在其防火墙中仅将与Web服务相关的IP列为白名单。

简短的回答是否,这不能通过PHP实现

就SOAP而言,PHP在OSI模型(HTTP)的应用层上运行,因此这意味着在使用该层时已经分配了IP地址

要做到这一点,您可以有两个web服务器(Main和SOAP),它们在内部IP范围内进行通信,但是SOAP上的请求将在它自己的WAN地址上发出,然后您将把这个地址提供给客户。如果您不想使用两台服务器,那么服务器上的第二个网卡(虚拟/硬件)和Apache侦听规则可以获得类似的结果:

另一种方法是,使用不同的TCP端口为SOAP请求与客户端站点通信。例如,您可以将所有SOAP请求发送到端口8080(而不是80)上的客户端WAN IP,并让客户端在其防火墙上设置入站NAT(网络地址转换),以将从您的WAN IP从TCP 8080传入的所有流量转换回TCP 80,以便服务器可以接收该请求。如果您的服务器正在侦听该端口,则他们需要将其转换回TCP 8080