可以将IIS配置为将请求转发到另一个Web服务器吗?


81

我在一台由Host Header区分的IIS 6服务器上设置了几个网站。

但是,我希望我的网络上有一个由Linux / Apache服务器提供服务的站点。我是否需要为IIS使用反向代理加载项,还是有一种简单的方法来告诉IIS将所有请求传递给另一台服务器?

Answers:


83

对于IIS 7.5,Microsoft为此提供了官方模块!

在网站设置中,您将获得“ URL Rewrite”图标。

  • 打开它
  • 右键单击“入站规则列表”
  • 选择“添加规则”
  • 选择“反向代理”

在此对话框中,您可以输入要转发到的主机名+端口。添加规则后,打开编辑对话框可提供更多自定义设置。


8
很好,一切都是这样,但是最初的问题指定了IIS 6,所以我很困惑,特定于IIS 7.5的答案已标记为“已接受”。IIS 6是否有解决方案?
Tim Long 2010年

@Tim:您可以使用下面提到的ISAPI重写,但是除此之外,我对IIS6解决方案并不熟悉。
vdboor 2010年

我在Win10机器上遇到麻烦,无法安装。这些模块有任何限制吗?是否有必要在MS的服务器操作系统上运行它?谢谢
fpdragon '16

1
注意,有问题逆向使用这种方法代理POST请求
卡斯帕莱昂尼尔森

2
@CasperLeonNielsen您能否为我们指出有关潜在POST问题的更多详细信息?
詹斯·埃里希

17

我为此使用的是用于Windows(IIS)的第三方软件,除了URL重写等其他功能之外,它还可以很好地完成此工作:ISAPI Rewrite

ISAPI Rewrite是基于正则表达式的功能强大的URL操作引擎。它的行为与Apache的mod_Rewrite相似,但专门为Microsoft的Internet信息服务器(IIS)设计。ISAPI Rewrite是用纯C / C ++编写的ISAPI过滤器,因此速度非常快。ISAPI_Rewrite使您可以自由地超越标准URL方案并开发自己的方案。

搜索“代理”。这是RewriteProxy Rule文档

还有一个非常相似的开源项目:Ionic的Isapi Rewrite Filter


链接到IIRF ProxyPass的文档:cheeso.members.winisp.net/Iirf20Help/html/…– Cheeso
09年

2
+1 -这适用于IIS 6
埃文安德森

由于这个问题,我无法在Windows 2008 R2 SP1上使用IIRF:iirf.codeplex.com/workitem/32479
Peter K.

1

不,不是在IIS 6上。请注意使用nginx / ubuntu(甚至在Windows上为nginx)作为IIS6服务器前面的反向代理。我们必须使用IIS7.5来实现反向代理功能


-3

Microsoft KB文章应有助于回答此请求。

将请求重定向到另一个网站或目录的过程:

  1. 在IIS管理器中,展开本地计算机,右键单击要重定向的网站或目录,然后单击“属性”。

  2. 单击主目录,虚拟目录或目录选项卡。

  3. 在“该来源的内容应来自”下,单击“重定向到URL”。

  4. 在“重定向到”框中,键入目标目录或网站的URL。


6
考虑到发布者问题上的“ reverse-proxy”标签,我猜他在寻找反向代理功能而不是HTTP重定向。
埃文·安德森

5
其他的服务器不公开,所以很不幸,这是行不通的
丹尼尔·

这是完全错误的。
tacos_tacos_tacos 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.