反向代理(Reverse Proxy)方式是指以代理服務器來接受internet上的鏈接請求,而後將請求轉發給內部網絡上的服務器,並將從服務器上獲得的結果返回給internet上請求鏈接的客戶端,此時代理服務器對外就表現爲一個反向代理服務器。web
反向代理能夠啓用高級URL策略和管理技術,從而使處於不一樣web服務器系統的web頁面同時存在於同一個URL空間下。服務器
經過IIS安裝反向代理,可使得IIS和Apache等服務器運行在同一臺機器上,IIS和Apache均可以經過80端口訪問,使得網站的兼容性更強。網絡
IIS實現反向代理有兩種方法,IIS6經過第三方工具ISAPI Rewrite來實現反向代理,IIS7之後的版本能夠用過微軟本身的URL Rewrite和Application Request Routing來實現反向代理。工具
IIS6網站
先安裝ISAPI_Rewrite3_0082.msi,安裝完成後,再安裝一個Apache服務器,Apache安裝完成後,設置HTTP端口爲8080,HTTPS端口4433,而IIS的HTTP端口爲80,HTTPS端口443,IIS和Apache的端口不能衝突。spa
IIS新建一個站點,在網站根目錄創建一個名爲 .htaccess 的文件,內容以下,域名請修改成本身的域名:插件
RewriteEngine OnRewriteCompatibility2 OnRepeatLimit 200RewriteBase RewriteCond %{HTTP:Host} ^www.williamlong.info$RewriteProxy (.*) http://www.williamlong.info:8080$1 [NC,P,H]代理
以後,IIS6+Win2003 配置反向代理到 Apache 就成功了,制定域名能夠經過80端口的IIS訪問,而實際網站則是再Apache的8080端口,對於用戶來講是不可見的。blog
IIS7web服務器
IIS7不用安裝第三方的軟件,自己反向代理軟件微軟就提供,咱們使用微軟本身的URL Rewrite和Application Request Routing便可實現反向代理。
先安裝URL Rewrite和Application Request Routing,只轉發到IIS內網站,則不須要安裝ARR。
安裝好以上兩個插件,重啓IIS管理器,而後點擊當前主機,就會發現兩個新增的圖標了。
點擊Application Request Routing圖標,選擇Server Proxy Settings,勾上Enable proxy並點擊右側的應用。
選擇須要反向代理的站點,再選擇「URL重寫」,點擊添加規則,選擇空白規則,「條件輸入」填寫「{HTTP_HOST}」,模式爲^www.williamlong.info$,入站規則的操做類型爲「重寫」,重寫URL爲「http://www.williamlong.info:8080{R:1}」,填好了保存下,便可完成IIS7的反向代理配置。