欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

在IIS7中應(yīng)用Application Request Routing配置反向代理的圖文教程

 更新時(shí)間:2020年04月05日 11:25:06   作者:Leven  
在IIS7之前,在windows上要實(shí)現(xiàn)該功能卻不是一件容易的事情,但是在IIS7上,通過(guò)Application Request Routing模塊,我們可以輕松實(shí)現(xiàn)反向代理

在配置web服務(wù)器的時(shí)候,我們經(jīng)常遇到這樣的問(wèn)題,由于某些原因,該服務(wù)器只能擁有一個(gè)公網(wǎng)IP,但是可能需要提供其他機(jī)器或者本機(jī)上其他webserver的服務(wù)器給訪問(wèn)者,同時(shí)又不希望使用其他端口,如果在linux下,常見(jiàn)的解決方案是使用nginx作為前端server,通過(guò)反向代理間接訪問(wèn)其他webserver.在IIS7之前,在windows上要實(shí)現(xiàn)該功能卻不是一件容易的事情,但是在IIS7上,通過(guò)Application Request Routing模塊,我們可以輕松實(shí)現(xiàn)反向代理.

軟件的安裝與下載 http://www.dbjr.com.cn/softs/629246.html

安裝步驟

1. IIS的版本是7.5.7600.16385.

2. 關(guān)閉相關(guān)服務(wù).

net stop was /y

net stop wmsvc /y

第二個(gè)服務(wù)沒(méi)有開(kāi)。

3. 手動(dòng)安裝ARR的依賴項(xiàng)。

a) Web Farm Framework module version 1.1

b) External cache module version 1.0

c) URL Rewrite module version 2.0

4.安裝ARR.version 3.0

5.啟動(dòng)之前關(guān)閉的服務(wù)。

net start was

net start wmsvc

6.安裝成功。

遇到的問(wèn)題:

之前使用WebPI進(jìn)行安裝。他會(huì)自動(dòng)安裝ARR3.0 相關(guān)的依賴項(xiàng)。Server Farm可以正常展示,但是ARR3.0 沒(méi)有安裝成功。查看系統(tǒng)日志 顯示:未能加載文件或程序集:

解決辦法:

將自動(dòng)安裝的 arr 以及他的依賴項(xiàng)全都卸載。再按照以上步驟進(jìn)行手動(dòng)安裝。

  本次測(cè)試配置的情況,簡(jiǎn)單起見(jiàn),只在iis中測(cè)試,配置3個(gè)網(wǎng)站,第一個(gè)”LevenWeb”,使用80端口提供服務(wù),第二個(gè)”levenblog”,下面運(yùn)行著levenblog2.0.9,使用8080端口,第三個(gè)”phpweb”,下面有一個(gè)”test.php”的phpinfo頁(yè)面(iis7 php配置本文不再詳述),本機(jī)ip:192.168.1.8,為了測(cè)試,我們先進(jìn)行域名綁定,也就是在leven.com.cn下新增3個(gè)子域名,域名綁定如下圖所示:

我們的目標(biāo)如下:

  http://phpweb.leven.com.cn/ 訪問(wèn)phpweb站點(diǎn),也就是http://localhost:8081/

  http://levenblog.leven.com.cn/ 訪問(wèn)levenblog站點(diǎn),也就是http://localhost:8080/

  http://realblog.leven.com.cn/ 訪問(wèn)公網(wǎng)上的levenblog站點(diǎn),也就是http://leven.com.cn/

  http://localhost/leven 訪問(wèn)levenblog站點(diǎn),也就是http://leven.com.cn/

  首先前往http://www.iis.net/extensions/ApplicationRequestRouting下載Application Request Routing,然后安裝,本次實(shí)踐使用的是V2版.

  安裝完畢之后,新建3個(gè)站點(diǎn):

  然后找到ARR配置菜單:

  開(kāi)啟Proxy項(xiàng):

  然后在levenweb站點(diǎn)下配置反向代理路由,配置可以使用UI界面或者直接修改web.config的模式,本次配置給出ui和config文件兩種方式,個(gè)人更喜歡config配置文件模式.

  進(jìn)入該項(xiàng),先配置第一項(xiàng), http://phpweb.leven.com.cn/ 訪問(wèn)phpweb站點(diǎn),也就是http://localhost:8081/,選擇”Add Rules...”:

  然后選擇”Blank Rule”

  然后填寫(xiě)如下:

  圖片看不清楚?請(qǐng)點(diǎn)擊這里查看原圖(大圖)。

  該參數(shù)設(shè)置表面ARR將攔截所有請(qǐng)求

  繼續(xù)在”Conditions”中選擇”Add”:

  該設(shè)置表面只有HTTP_HOST為phpweb.leven.com.cn的URL才能通過(guò)該規(guī)則,如果您綁定了多個(gè)域名,可以根據(jù)多次增加或者通過(guò)正則表達(dá)式的|來(lái)間隔

  最后在下面的Action中配置代理路徑:

  圖片看不清楚?請(qǐng)點(diǎn)擊這里查看原圖(大圖)。

  在這兒,{R:1}代表了MatchUrl中的第一個(gè)匹配括號(hào)

  同樣配置的web.config文件如下:

復(fù)制代碼 代碼如下:

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


測(cè)試訪問(wèn)http://phpweb.leven.com.cn/test.php,結(jié)果如下:

  下面同樣可以配置levenblog.leven.com.cn和realblog.leven.com.cn

  Ui界面配置不再說(shuō)明,配置完成的web.config如下:

復(fù)制代碼 代碼如下:

<rewrite>
  <rules>
    <rule name="levenblog">
      <match url="^(.*)" />
      <conditions>
        <add input="{HTTP_HOST}" pattern="^levenblog.leven.com.cn$" />
      </conditions>
      <action type="Rewrite" url="http://localhost:8080/{R:1}" />
    </rule>
    <rule name="realblog">
      <match url="^(.*)" />
      <conditions>
        <add input="{HTTP_HOST}" pattern="^realblog.leven.com.cn$" />
      </conditions>
      <action type="Rewrite" url="http://leven.com.cn/{R:1}" />
    </rule>
    <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>


訪問(wèn)結(jié)果分別為:

  和

  我們?cè)偬砑幼詈笠豁?xiàng),將http://localhost/leven 代理到 http://leven.com.cn/

復(fù)制代碼 代碼如下:

<rule name="leven.com.cn">
  <match url="^leven/(.*)" />
  <conditions>
    <add input="{HTTP_HOST}" pattern="^localhost$" />
  </conditions>
  <action type="Rewrite" url="http://leven.com.cn/{R:1}" />
</rule>


但是此時(shí)訪問(wèn)會(huì)出現(xiàn)問(wèn)題,如下圖:

  顯然,出現(xiàn)了css丟失等情況,通過(guò)查看源碼:

  可以看到css的路徑有誤,不僅如此,所有的img,a標(biāo)簽路徑全部出現(xiàn)了錯(cuò)誤,代理之后的地址是/leven/xxx的,但是源地址仍然是/xxx,因此我們還需要增加一個(gè)Outbound Rule

  配置好的config文件如下:

復(fù)制代碼 代碼如下:

<outboundRules>
  <rule name="Add application prefix">
    <match filterByTags="A,Img,Script,Link" pattern="^/(.*)" />
    <conditions>
      <add input="{URL}" pattern="^/leven/.*" />
    </conditions>
    <action type="Rewrite" value="/leven/{R:1}" />
  </rule>
</outboundRules>


然后刷新:

  可見(jiàn)路徑正確.

  在使用了反向代理之后,編程上也有些地方需要注意了,在取客戶端IP的時(shí)候,由于多了一層代理,直接是無(wú)法獲取的,因此,我們需要開(kāi)啟

  然后通過(guò)獲取Header中的X-Forworded-For字段來(lái)取得客戶端IP

  從測(cè)試來(lái)看,ARR是個(gè)非常有用的代理模塊,能完全滿足我們反向代理的需求,不僅如此,ARR還提供了UrlRewrite,ServerFarms,Cache等很多功能,很是值得我們挖掘.

相關(guān)文章

  • Windows 2016 IIS10.0+PHP+MySQL環(huán)境搭建

    Windows 2016 IIS10.0+PHP+MySQL環(huán)境搭建

    Windows Server 2016是微軟于2016年10月13日正式的發(fā)布最新服務(wù)器操作系統(tǒng),我們今天來(lái)詳細(xì)看看在Windows Server 2016中如何搭建php+mysql的環(huán)境
    2016-12-12
  • HTTP 500內(nèi)部服務(wù)器錯(cuò)誤的解決方法(重裝IIS)

    HTTP 500內(nèi)部服務(wù)器錯(cuò)誤的解決方法(重裝IIS)

    培訓(xùn)銷售人員安裝asp.net運(yùn)行環(huán)境,真是各種情況都遇到了,IIS安裝完成,一運(yùn)行出現(xiàn)“HTTP 500 - 內(nèi)部服務(wù)器錯(cuò)誤”,網(wǎng)上找了一圈,處理方法那個(gè)叫復(fù)雜,在研究完復(fù)雜方法之后,發(fā)現(xiàn)只要三步就可以解決問(wèn)題了
    2012-06-06
  • windows?server?2012安裝FTP并配置被動(dòng)模式指定開(kāi)放端口

    windows?server?2012安裝FTP并配置被動(dòng)模式指定開(kāi)放端口

    本文主要介紹了windows?server?2012安裝FTP并配置被動(dòng)模式指定開(kāi)放端口,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • IIS創(chuàng)建WEB服務(wù)的圖文教程

    IIS創(chuàng)建WEB服務(wù)的圖文教程

    本文主要介紹了IIS創(chuàng)建WEB服務(wù)的圖文教程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • IIS7 fastcgi方式安裝php

    IIS7 fastcgi方式安裝php

    iis下fastcgi php安裝。
    2009-04-04
  • Win2003下IIS以FastCGI模式運(yùn)行PHP

    Win2003下IIS以FastCGI模式運(yùn)行PHP

    這篇文章主要介紹了Win2003下IIS以FastCGI模式運(yùn)行PHP,需要的朋友可以參考下
    2014-11-11
  • IIS6.0 IIS7.5應(yīng)用程序池自動(dòng)停止的解決方法

    IIS6.0 IIS7.5應(yīng)用程序池自動(dòng)停止的解決方法

    在日志中發(fā)現(xiàn)IIS7.5的應(yīng)用程序池自動(dòng)停止,同時(shí)訪問(wèn)網(wǎng)站提示:HTTP Error 503,The service is unavailable.. 的錯(cuò)誤,搜遍整個(gè)互聯(lián)網(wǎng)總算是解決了問(wèn)題。小編也整理了IIS6及IIS7.5遇到此類問(wèn)題匯總解決方法,歡迎大家嘗試
    2015-09-09
  • win2003 虛機(jī)主機(jī)全面支持 access 2007的方法

    win2003 虛機(jī)主機(jī)全面支持 access 2007的方法

    目前國(guó)內(nèi)大部分虛擬主機(jī)依然采用windows server 2003系統(tǒng),但是現(xiàn)在也有一部分程序的數(shù)據(jù)庫(kù)是access 2007的 默認(rèn)windows server 2003 是不支持access 2007的數(shù)據(jù)庫(kù)的!
    2009-06-06
  • Win2003 服務(wù)器系統(tǒng)安裝圖文教程

    Win2003 服務(wù)器系統(tǒng)安裝圖文教程

    本文討論的是在新硬盤上安裝Windows2003,如硬盤已有數(shù)據(jù),請(qǐng)先備份數(shù)據(jù)以防造成不必要的無(wú)可挽回的損失。
    2010-04-04
  • IIS ADMIN不能啟動(dòng),提示錯(cuò)誤代碼-2146893818的解決方法

    IIS ADMIN不能啟動(dòng),提示錯(cuò)誤代碼-2146893818的解決方法

    這篇文章主要介紹了IIS ADMIN不能啟動(dòng),提示錯(cuò)誤代碼-2146893818的解決方法,需要的朋友可以參考下
    2014-09-09

最新評(píng)論