iis實現方向代理


將請求的網址重寫重定向到其它網址。當80端口被占用無法同時使用兩個Web服務的解決方案,使得IIS和Apache Tomcat 共存

0|1環境

 

WindowServer 2008 IIS7

Apache 集成在WampServer

Tomcat

測試程序:微擎(PHP) 、 某管理系統(Java)

0|1工具


Application Request Routing(ARR x64)(ARR x32

URL Rewrite(x64 x32

0|1需求


服務器只允許開放 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)

0|1教程


反向代理

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM