我有2个Web服务器:一个运行Apache的Linux服务器和一个运行IIS的Windows服务器。 是否有可能让这两个服务器共享相同的url和子域。 例如,我可以让http:// www.mysite.com/iis/运行IIS并使用http:// www.mysite.com/apache/运行apache? 我不想使用子域来完成这项工作。
如果Apache是这两者的主要networking服务器(即它直接响应地址为www的端口80),则可以在Apache中使用mod_proxy将请求转发到http://www.mysite.com/iis/上的IIS服务。 mysite.com指向)。
另一个select是在标准端口上既没有Apache或IIS作为主要服务,也没有专门的反向代理,而是configuration为将请求转发到IIS和Apache(适当时)。
一种select是将www.mysite.com的所有内容都转到apache上,然后使用mod_proxy将www.mysite.com/iis/中的所有内容转发给您的IIS服务器。
在一个标准的设置中,不。如果你在同一个服务器上运行IIS和Apache,那么他们需要在不同的端口上,只有其中一个可以使用端口80,因此你的URL必须包含端口数。
build议使用类似Mod代理的方法来将某些URL的请求转交给另一台服务器,但是除非IIS在另一台计算机上,否则您仍然会遇到URL需要包含端口号的问题。 您将需要指定一台服务器作为主服务器,并在端口80上侦听,并处理将请求转交给其他服务器。
如果不将其中一个服务器作为两个URL的所有者,则无法完成此操作。 然后,您将采取默认的服务器,我会打电话给它,并发出redirect到另一个URL将parsing到您的另一台服务器的IP地址。
例如:
Linux服务器IP1 = http://www.myurl.com,其中IP1是显示的URL的IP地址。
在httpd.conf文件中,您将使用redirect指令来匹配www.myurl.com/iis上的任何内容,并将其发送到www.myotherurl.com,这将parsing为其他服务器的IP。 http://www.myurl.com/apache然后可以指向您select的本地目录。
IIS服务器IP2 = http://www.myotherurl.com其中IP2是另一个URL的IP地址,如图所示。
重写规则可以是这样的:
RewriteEngine RewriteRule ^ iis /?$ http://www.myotherurl.com
顺便说一句,我们做了类似的redirectHTTPstream量到我们的HTTPS网站的某些东西….就像如果你键入webmail.mycompany.com,我们redirect到相同的HTTPS。
RewriteEngine On RewriteCond%{SERVER_PORT}!^ 443 $ RewriteRule(。*) https://webmail.mycompany.corp/ [R = 301,L]