我在一台 IIS 6 服务器上建立了几个以主机头区分的网站。
但是,我希望我的网络上的其中一个站点由 Linux/Apache 服务器提供服务。我是否需要使用 IIS 的反向代理插件,或者是否有一种简单的方法可以告诉 IIS 将所有请求传递到另一台服务器?
答案1
对于 IIS 7.5,Microsoft 为此提供了官方模块!
- URL 重写:http://www.iis.net/download/URLRewrite
- 反向代理:http://www.iis.net/download/ApplicationRequestRouting
在网站设置中,您会看到一个“URL 重写”图标。
- 打开它
- 右键单击“入站规则列表”
- 选择“添加规则”
- 选择“反向代理”
在此对话框中,您可以输入要转发到的主机名 + 端口。添加规则后,打开编辑对话框可提供更多自定义设置。
答案2
为此,我正在使用适用于 Windows 的第三方软件 (IIS),除了 URL 重写等其他功能外,它可以很好地完成这项工作:ISAPI 重写。
ISAPI Rewrite 是一个基于正则表达式的强大 URL 处理引擎。它的作用与 Apache 的 mod_Rewrite 非常相似,但专为 Microsoft 的 Internet Information Server (IIS) 设计。ISAPI Rewrite 是一个用纯 C/C++ 编写的 ISAPI 过滤器,因此速度极快。ISAPI_Rewrite 让您可以自由地超越标准 URL 方案并开发您自己的方案。
搜索“Proxying”。以下是RewriteProxy 规则的文档。
还有一个非常相似的开源项目:Ionic 的 Isapi 重写过滤器。
答案3
不,在 IIS 6 上不行。考虑使用 nginx/ubuntu(甚至是 Windows 上的 nginx)作为 IIS6 服务器前的反向代理。我们必须使用 IIS7.5 来实现反向代理功能
答案4
这Microsoft 知识库文章应该有助于回答这个请求。
将请求重定向到另一个网站或目录的过程:
在 IIS 管理器中,展开本地计算机,右键单击要重定向的网站或目录,然后单击“属性”。
单击主目录、虚拟目录或目录选项卡。
在“此来源的内容应来自”下,单击“重定向到 URL”。
在“重定向到”框中,键入目标目录或网站的 URL。