一台计算机上的双服务器技术

一台计算机上的双服务器技术

我目前在家里的 Web 服务器上运行 IIS,并使用 DNS2Go 提供静态域名。我的旧网站使用带有 VB 脚本的 ASP 和通过 ODBC 驱动程序的 Access 数据库,而我的新网站使用 APACHE、PHP 和 MySQL。我希望能够继续提供 ASP 页面和 PHP 页面,据我所知,只要使用不同的端口号,我就可以在同一台计算机上设置两个服务器。

我将如何处理请求http://domain.myip.org/iis/与 IIS 服务器和那些请求http://domain.myip.org/apache/使用 appache 服务器?我真的希望能够将请求路由到我喜欢的任何目录的正确服务器。

答案1

由于有些用户位于公司防火墙后面,无法访问除 80 或 443 之外的端口,因此您不应简单地将用户重定向到其他端口,而应通过代理转发请求。虽然这意味着使用更多的 apache 资源,但它对某些用户有很大帮助。

您可以通过让 apache2 在端口 80 上运行并在其他端口(例如 10080)上运行 IIS 来实现这一点。在 apache2 的配置文件中,您可以使用以下指令通过特殊 URL 上的请求进行代理:

ProxyPass /iis/ http://localhost:10080/
ProxyPassReverse /iis/ http://localhost:10080/

你需要积极mod_proxy-module 并且可以使用重写以获得进一步的功能,例如仅将特定的子网址代理到 IIS。

答案2

好吧,首先我想到的是 - 让 apache 位于端口 80 并使用 mod_rewrite 将特定路径重定向到另一个端口。

# replace [iis_port#] with something like 8080 or wherever you put it
RewriteRule ^/iis(.*) http://www.domain.myip.org:[iis_port#]$1 [R]

# or the whole host
RewriteCond %HTTP_HOST% www.domain.iis.myip.org
RewriteRule (.*) http://www.domain.iis.myip.org:[iis_port#]$1 [R]

这是一个非常简单的解决方案,因此有人可能会发布更好的解决方案。

相关内容