我使用IIS服务器运行我的网站(www.example.com)。现在我的要求是从Apache Server for PHP运行网站(www.example.com),从IIS服务器运行www.example.com/XYZ url用于ASP .NET。apache和iis服务器的请求路由
这个路由可能吗?
我使用IIS服务器运行我的网站(www.example.com)。现在我的要求是从Apache Server for PHP运行网站(www.example.com),从IIS服务器运行www.example.com/XYZ url用于ASP .NET。apache和iis服务器的请求路由
这个路由可能吗?
你的意思是在同一台Windows Server上吗?在端口80上?
我认为不可能在一个端口上运行两个服务。服务器必须先处理端口80上的传入请求,然后再决定将其路由到哪个服务,然后每个服务在解析域名之前必须接受请求。服务器和服务并没有办法在太晚之前知道该请求的处理过程。
如果您不介意在非标准端口上运行某个Web服务,它应该可以工作。你有没有尝试过?
您可以在apache上使用反向代理功能。在Apache的配置
a2enmod proxy proxy_http
,然后路线/ XYZ到IIS服务器(IIS或端口)
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
ProxyPass /XYZ http://old.iis.server/
ProxyPassReverse /XYZ http://old.iis.server/
</VirtualHost>
重启Apache,它应该工作的罚款。
编辑: 如果它必须是在同一物理机上,IIS必须是“移动”到另一个端口。这两种服务都不能绑定到端口80(HTTP)/ 443(HTTPS)。这根本不可能。一个端口 - 一个服务。 因此,将IIS-Server的端口更改为8080(HTTP)和8443(HTTPS) 和使用
ProxyPass /XYZ http://localhost:8080/
ProxyPassReverse /XYZ http://localhost:8080/
是在相同的Windows服务器和端口80 –