IIS 反向代理可以將請求的網址重寫到其它網址,達到轉發的目的。一般用於一臺伺服器只允許開啟80埠,而80埠又被IIS使用,此時需要在IIS中設置URL重寫,將請求轉發到指定 `IP:埠` 或網址 ...
目錄
IIS 反向代理可以將請求的網址重寫到其它網址,達到轉發的目的。一般用於一臺伺服器只允許開啟80埠,而80埠又被IIS使用,此時需要在IIS中設置URL重寫,將請求轉發到指定
IP:埠
或網址
環境
WindowServer 2008 IIS7
Apache 集成在WampServer
Tomcat
測試程式:微擎(PHP) 、 某管理系統(Java)
工具
Application Request Routing(ARR x64)(ARR x32)
需求
伺服器只允許開放 80 埠,要求 IIS反向代理到其它伺服器,使得 可以通過二級功能變數名稱訪問Apache/Tomcat服務。
假設一個環境:伺服器中開啟了IIS ,一級功能變數名稱(test.com)可以訪問到IIS的預設站點,但是我在Apache上運行著PHP的程式,所以想要通過二級功能變數名稱(a.test.com)來訪問到Apache的服務(127.0.0.1:808),通過二級功能變數名稱(b.test.com)訪問Tomcat(127.0.0.1:8080)
教程
反向代理
1. 在使用反向代理前,我們需要在IIS中安裝 ARR 工具和 URL Rewrite 。
安裝方法很簡單,只需要打開上面兩個工具的鏈接將它們下載下來並安裝就可以了。
2. 不過還有另一個快捷的安裝渠道,微軟官方有一個叫做 Web平臺安裝程式 可以直接一鍵安裝。
不過使用 Web平臺安裝程式 我遇到一個問題,界面一直在載入中無法進入安裝程式界面。所以你如果無法載入的話,就用第一種方法
安裝完成後打開IIS ,可以看到出現了兩個功能( Application Routing Request
、URL 重寫
)
3. 打開 Application Request Routing
選擇 Server Proxy Settings
4. 勾選 Enable proxy
。點應用後退出
5. 指定一個站點,對它進行URL重寫
如 需要對 a.test.com 進入 URL重寫,就點 a.test.com 站點中的URL重寫功能
6. 添加規則
- 入站規則
- 空白規則
7. 添加配置
- 名稱隨意
- 模式寫
^(.*)
- 添加條件 - 條件輸入
{HTTP_HOST}
模式輸入^a.test.com$
- 操作類型預設重寫
- 重寫URL :
http://127.0.0.1:808/{R:1}
,這個鏈接表示要跳轉的地址,如果你需要跳轉到Tomcat則可以將埠改成8080
8. 保存好後,就可以直接在瀏覽器訪問 a.test.com 了
總結
- 如果需要反向代理Tomcat,只需要將URL重寫地址寫成Tomcat的鏈接就可以了
- 我用WampServer的微擎測試程式時,可以重寫到Apache,但是提交登錄的時候會出現登錄不上,但是在伺服器中直接訪問 Apache登錄又可以登錄。原因是
PHP的代碼驗證問題
。這種辦法就修改下源碼文件吧,或者你就不要用IIS的URL重寫了,直接在IIS中配置一個PHP的請求映射,在IIS中運行PHP