10
7

IIS如何设置反向代理

0
归档:2019年7月分类:LAMP开发
内容纲要

说到反向代理,很多人会想到nginx,其实iis也是可以实现方向代理的。

1.安装ARR、URL Rewrite(URL重写工具2.0)

注意英文和中文环境的对应:

Application Request Routing 对应中文 应用程序请求路由

URL Rewrite Module 对应中文 URL重写

下载安装ARR(也可以在IIS管理器中,Web平台安装程序->产品->搜索框中搜索"arr"->应用程序请求路由3.0 Beta->添加->安装): http://www.iis.net/downloads/microsoft/application-request-routing

下载安装URL Rewrite Module(也可以在IIS管理器中,Web平台安装程序->产品->搜索框中搜索"url"->url重写工具2.0->添加->安装): http://www.microsoft.com/en-us/download/details.aspx?id=7435

这里推荐使用IIS自带的Web安装包工具,微软还是很强大的。

2.启用ARR:双击ARR(Application Request Routing)->点击右侧Server Proxy Settings...->选中Enabel proxy->点击右侧“应用”;

3.启用URL重写,可以通过web.config配置,也可以通过界面设置(web.config最终也可以使用界面来查看和操作),比如web.config样例:

此时 www.baidu.com/api 或者 www.baidu.com/api/xxxx 都被代理到 www.proxy.com 或者 www.proxy.com/xxx,如果不想过滤掉"baidu",只需要把match url 改成 "^(baidu(/?|.*))$"

<?xml version=”1.0” encoding=”UTF-8”?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name=”bdProxy” stopProcessing=”true”>
<match url=”^baidu(/?|.*)$” />
<conditions>
<add input=”{HTTP_HOST}” pattern=”www.baidu.com” />
</conditions>
<action type=”Rewrite” url=”http://www.baidu.com{R:1}“ />
<serverVariables>
<set name=”HTTP_X_FORWARDED_HOST” value=”{HTTP_HOST}” />
</serverVariables>
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

这里要特别注意了:由于使用了变量 HTTP_X_FORWARDED_HOST,所以需要在 url重写->查看服务器变量->添加->添加HTTP_X_FORWARDED_HOST


声明: 本文采用 BY-NC-SA 协议进行授权. 未标注“转”的文章均为原创,转载请注明转自: IIS如何设置反向代理

公告栏

欢迎大家来到我的博客,我是dodoro,希望我的博客能给你带来帮助。