IIS 反向代理到 Apache、Tomcat


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

環境

WindowServer 2008 IIS7

Apache 集成在WampServer

Tomcat

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

工具

Application Request Routing(ARR x64)(ARR x32

URL Rewrite(x64 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 RequestURL 重寫

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