请求apache和iis服务器的路由

时间:2016-08-09 07:16:18

标签: php .net apache iis routing

我使用IIS服务器运行我的网站(www.example.com)。现在我的要求是从Apache Server for PHP运行网站(www.example.com),从IIS服务器运行www.example.com/XYZ url for ASP .NET。

这种路由可能吗?

2 个答案:

答案 0 :(得分:0)

你的意思是在同一台Windows服务器上?在80号港口?

我认为在一个端口上运行两个服务是不可能的。在决定将其路由到哪个服务之前,服务器必须在端口80上处理传入请求,然后每个服务必须在解析域名之前接受该请求。服务器和服务,无法知道请求的过程是否为时已晚。

如果您不介意在非标准端口上运行其中一个Web服务,它应该可以正常工作。你试过吗?

答案 1 :(得分:0)

您可以在apache上使用反向代理功能。

a2enmod proxy proxy_http

然后将/ XYZ路由到apache config

中的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服务器的端口更改为例如8080(HTTP)和8443(HTTPS) 并使用

  ProxyPass /XYZ http://localhost:8080/
  ProxyPassReverse /XYZ http://localhost:8080/