IIS 反向代理到 Apache、Tomcat

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

環境

WindowServer 2008 IIS7服務器

Apache 集成在WampServerapp

Tomcat工具

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

工具

Application Request Routing(ARR x64)(ARR x32.net

URL Rewrite(x64 x323d

需求

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

教程

反向代理

1. 在使用反向代理前,咱們須要在IIS中安裝 ARR 工具和 URL Rewriteblog

安裝方法很簡單,只須要打開上面兩個工具的連接將它們下載下來並安裝就能夠了。

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
相關文章
相關標籤/搜索