逐梦论坛's Archiver

shillan 发表于 2015-7-10 23:23

IIS实现反向代理

[p=30, 2, left]新建两个站点,端口分别使用 80 和 81,在DNS中新建A记录,指向该计算机(10.4.34.41)[/p][p=30, 2, left][img]http://images.cnitblog.com/i/235279/201408/141025062955570.jpg[/img][/p][p=30, 2, left]配置过程如下:[/p][p=30, 2, left]1.在Windows Server 2012 R2上 安装ARR,URL Rewriter组件。[/p][p=30, 2, left]  ARR3.0需要如下组件支持:Web Farm Framework 2.2(该组件又需要Web Platform Installer 3.0 和 WebDeploy 2.0组件的支持)[/p][p=30, 2, left]  URL Rewriter2.0(For IIS7.0,支持Win 2012 R2)直接安装即可。[/p][p=30, 2, left]  下载地址:[url]http://www.iis.net/downloads/microsoft/application-request-routing[/url][/p][p=30, 2, left]         [url]http://www.iis.net/downloads/microsoft/web-farm-framework[/url][/p][color=#4b4b4b][font=Verdana, Geneva, Arial, Helvetica, sans-serif][size=13px]         [url]http://www.microsoft.com/en-us/download/details.aspx?id=7435[/url][/size][/font][/color]

[color=#4b4b4b][font=Verdana, Geneva, Arial, Helvetica, sans-serif][size=13px] 依次安装完如上组件后,可以在IIS控制台中看到 ARR 和 URL重写 安装成功[/size][/font][/color]
[color=#4b4b4b][font=Verdana, Geneva, Arial, Helvetica, sans-serif][size=13px] [img=1199,385]http://images.cnitblog.com/i/235279/201408/141022599675076.jpg[/img][/size][/font][/color]

[color=#4b4b4b][font=Verdana, Geneva, Arial, Helvetica, sans-serif][size=13px]2.启用ARR:打开ARR,然后在右侧对其启用(使用默认设置即可)[/size][/font][/color]
[color=#4b4b4b][font=Verdana, Geneva, Arial, Helvetica, sans-serif][size=13px][img]http://images.cnitblog.com/i/235279/201408/141023585771947.jpg[/img][/size][/font][/color]

[color=#4b4b4b][font=Verdana, Geneva, Arial, Helvetica, sans-serif][size=13px]3.配置 URL重写,对URL进行过滤,将不同的访问请求(根据URL(DNS中的配置)进行过滤)定向到相应的站点[/size][/font][/color]
[color=#4b4b4b][font=Verdana, Geneva, Arial, Helvetica, sans-serif][size=13px][img]http://images.cnitblog.com/i/235279/201408/141027141396093.jpg[/img][/size][/font][/color]
[color=#4b4b4b][font=Verdana, Geneva, Arial, Helvetica, sans-serif][size=13px]   该设置表明只有HTTP_HOST为la80.ddv.com的URL才能通过该规则,如果绑定了多个域名,可以根据多次增加或者通过正则表达式的 | 来间隔[img]http://images.cnitblog.com/i/235279/201408/141027211861313.jpg[/img][/size][/font][/color]
[color=#4b4b4b][font=Verdana, Geneva, Arial, Helvetica, sans-serif][size=13px] {R:1}表示了Match Url 中的第一个匹配括号[/size][/font][/color]
[p=30, 2, left]配置完成后如下图:[/p][p=30, 2, left][img=1214,200]http://images.cnitblog.com/i/235279/201408/141027591551612.jpg[/img][/p]
[p=30, 2, left]在外部访问 la80.ddv.com 和la81.ddv.com可以访问成功。[/p]
[p=30, 2, left][b]通过配置web.config文件,也可以实现 URL重写[/b],如下:[/p][p=30, 2, left]      <rewrite>
        <rules>
          <rule name="phpweb">
            <match url="^(.*)" />
            <conditions>
              <add input="{HTTP_HOST}" pattern="^phpweb.leven.com.cn$" />
            </conditions>
            <action type="Rewrite" url="http://localhost:8081/{R:1}" />
          </rule>
        </rules>
      </rewrite>[/p][p=30, 2, left]参考来源:[url]http://blog.sina.com.cn/s/blog_532f78a40100rlpn.html[/url][/p]
[p=30, 2, left][b]ARR安装完成后,如果在IIS里面看不到ARR图标,解决方法如下[/b]:[/p][p=30, 2, left]1.分别通过如下命令打开 IIS管理器,查看有无ARR图标:[/p][p=30, 2, left]%windir%\System32\inetsrv\iis.msc
%windir%\system32\inetsrv\InetMgr.exe[/p][p=30, 2, left]2.通过PS脚本检查ARR是否安装成功:[/p][p=30, 2, left]$dll=[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.Web.Administration")
#Get the manager and config object
$mgr = new-object Microsoft.Web.Administration.ServerManager
$conf = $mgr.GetApplicationHostConfiguration()
#Get the webFarms section
$section = $conf.GetSection("webFarms")
$section[/p][p=30, 2, left][img]http://images.cnitblog.com/i/235279/201408/141203265612700.jpg[/img][/p]

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.