IIS 反向代理到 Apache、Tomcat
目录
iis 反向代理可以将请求的网址重写到其它网址,达到转发的目的。一般用于一台服务器只允许开启80端口,而80端口又被iis使用,此时需要在iis中设置url重写,将请求转发到指定
ip:端口
或网址
环境
windowserver 2008 iis7
apache 集成在wampserver
tomcat
测试程序:微擎(php) 、 某管理系统(java)
工具
application request routing(arr x64)(arr x32)
url rewrite( )
需求
服务器只允许开放 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 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
推荐阅读
-
IIS 反向代理到 Apache、Tomcat
-
详解Nginx反向代理到Tomcat服务器
-
WEB服务器:Apache、Tomcat、JBoss、WebLogic、Websphere、IIS的区别与关系
-
基于Windows安装配置Apache、Tomcat、IIS服务器,Apache、Tomcat、IIS服务器对比
-
apache2, nginx, iis反向代理简单配置
-
apache反向代理到jetty Apache
-
apache反向代理到jetty Apache
-
主流服务器apache、IIS、tomcat、jboss、resin、weblogic、websphere的区别
-
nginx 结合tomcat 做简单的反向代理 tomcat nginx apache wildfly 安装配置 nginx tomcat负载均
-
IIS 反向代理到 Apache、Tomcat