Dan*_*nor 42 apache iis networking windows-server-2003
有什么好方法可以做到这一点?甚至可以干净利落地做?
理想情况下,我想使用数据包标头来决定哪个服务器应该处理请求.但是,如果有更简单/更好的方式让我知道.
mdb*_*mdb 32
两个服务器都不可能在同一个IP地址上侦听同一个端口:由于单个套接字只能由一个进程打开,因此只有为某个IP /端口组合配置的第一个服务器才会成功绑定,第二个服务器将成功绑定将失败.
因此,您需要一种解决方法来实现您的目标.最简单的可能是在主IP /端口组合上运行Apache,并使用mod_rewrite将IIS的路由请求(应该为不同的IP和/或端口配置).
请记住,运行的备用IP和端口应该可以连接到连接到服务器的客户端:如果只有一个可用的IP地址,则应该注意选择一般不被防火墙阻止的IIS端口(8080可能是一个不错的选择,或443,即使您运行常规HTTP而不是SSL)
PS此外,请注意,您需要使用httpcfg修改IIS默认配置,然后才能允许其他服务器在同一服务器上的任何IP地址的端口80上运行:请参阅Micky McQuade的答案,了解执行该操作的过程...
Mic*_*ade 29
我发现以下链接建议有两个单独的IP地址,以便两者都可以侦听端口80 :(编辑:链接不再有效:www.prismix.com/blog/2006/06/running_apache_and_iis_6_toget.cfm)
有一点需要注意,由于套接字池,你必须在IIS中进行更改.以下是基于以上链接的说明:
Wal*_*alf 13
对于在一台服务器上只有一个IP地址和多个站点的用户,可以将IIS配置为侦听除其他端口以外的端口80,例如,8080通过在每个站点的属性中设置TCP端口(包括默认端口).
在Apache中,启用mod_proxy和mod_proxy_http,然后添加一个包罗万象的虚拟主机(所有其他后),以便请求Apache不明确处理GET"转发"到IIS.
<VirtualHost *:80>
ServerName foo.bar
ServerAlias *
ProxyPreserveHost On
ProxyPass / http://127.0.0.1:8080/
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
现在,您可以让Apache为某些站点提供服务,而IIS则为其他站点提供服务,而对用户没有明显的区别
编辑:您的IIS站点不得在其响应中的任何URL中包含其端口号,包括标头.
| 归档时间: |
|
| 查看次数: |
169689 次 |
| 最近记录: |