IIS實現反向代理

新建兩個站點,端口分別使用 80 和 81,在DNS中新建A記錄,指向該計算機(10.4.34.41)php

配置過程以下:html

1.在Windows Server 2012 R2上 安裝ARR,URL Rewriter組件。web

  ARR3.0須要以下組件支持:Web Farm Framework 2.2(該組件又須要Web Platform Installer 3.0 和 WebDeploy 2.0組件的支持)正則表達式

  URL Rewriter2.0(For IIS7.0,支持Win 2012 R2)直接安裝便可。app

  下載地址:http://www.iis.net/downloads/microsoft/application-request-routingurl

         http://www.iis.net/downloads/microsoft/web-farm-frameworkspa

         http://www.microsoft.com/en-us/download/details.aspx?id=7435
 
 依次安裝完如上組件後,能夠在IIS控制檯中看到 ARR 和 URL重寫 安裝成功
 
 
2.啓用ARR:打開ARR,而後在右側對其啓用(使用默認設置便可)
 
3.配置 URL重寫,對URL進行過濾,將不一樣的訪問請求(根據URL(DNS中的配置)進行過濾)定向到相應的站點
   該設置代表只有HTTP_HOST爲la80.ddv.com的URL才能經過該規則,若是綁定了多個域名,能夠根據屢次增長或者經過正則表達式的 | 來間隔
 {R:1}表示了Match Url 中的第一個匹配括號

配置完成後以下圖:.net

 

在外部訪問 la80.ddv.com 和la81.ddv.com能夠訪問成功。orm

 

經過配置web.config文件,也能夠實現 URL重寫,以下:htm

      <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>

參考來源:http://blog.sina.com.cn/s/blog_532f78a40100rlpn.html

 

ARR安裝完成後,若是在IIS裏面看不到ARR圖標,解決方法以下

1.分別經過以下命令打開 IIS管理器,查看有無ARR圖標:

%windir%\System32\inetsrv\iis.msc
%windir%\system32\inetsrv\InetMgr.exe

2.經過PS腳本檢查ARR是否安裝成功:

$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

相關文章
相關標籤/搜索