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
相关文章
相关标签/搜索