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 重写

1469487-20180825105154236-1092040926.png

3. 打开 Application Request Routing 选择 Server Proxy Settings

1469487-20180825110049783-1410617266.png

4. 勾选 Enable proxy 。点应用后退出

1469487-20180825110119410-1993646725.png

5. 指定一个站点,对它进行URL重写

如 需要对 a.test.com 进入 URL重写,就点 a.test.com 站点中的URL重写功能

1469487-20180825110517403-1549675577.png

6. 添加规则 - 入站规则 - 空白规则

1469487-20180825110707376-1357986833.png

7. 添加配置

  • 名称随意
  • 模式写 ^(.*)
  • 添加条件 - 条件输入 {HTTP_HOST} 模式输入 ^a.test.com$
  • 操作类型默认重写
  • 重写URL :http://127.0.0.1:808/{R:1} ,这个链接表示要跳转的地址,如果你需要跳转到Tomcat则可以将端口改成8080

1469487-20180825112452627-1553272213.png

8. 保存好后,就可以直接在浏览器访问 a.test.com 了

1469487-20180825113354996-293102205.png

总结

  • 如果需要反向代理Tomcat,只需要将URL重写地址写成Tomcat的链接就可以了
  • 我用WampServer的微擎测试程序时,可以重写到Apache,但是提交登录的时候会出现登录不上,但是在服务器中直接访问 Apache登录又可以登录。原因是 PHP的代码验证问题 。这种办法就修改下源码文件吧,或者你就不要用IIS的URL重写了,直接在IIS中配置一个PHP的请求映射,在IIS中运行PHP

转载于:https://www.cnblogs.com/selier/p/9533382.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值