将请求的网址重写重定向到其它网址。当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

IIS 反向代理到 Apache、Tomcat的更多相关文章

  1. 使用nginx做反向代理来访问tomcat服务器

    本次记录的是使用nginx来做一个反向代理来访问tomcat服务器.简单的来说就是使用nginx做为一个中间件,来分发客户端的请求,将这些请求分发到对应的合适的服务器上来完成请求及响应. 第一步:安装 ...

  2. nginx 反向代理 与 Apache backend的配置联合配置

    nginx 反向代理 与 Apache backend的配置联合配置: 说明: nginx 将http映射到Apache上的特定子目录. 配置方法步骤: 1.  设置域名, 子域名映射到指定服务器ip ...

  3. IIS 反向代理 golang web开发

    一. beego 开发编译 bee run 后会编译成 exe文件 编译生成后发布文件结构为 cmd 运行 cd D:/run beegoDemo.exe run 默认配置端口 不能为 80 跟iis ...

  4. IIS反向代理解决Web前端跨域

    1.1 IIS7反向代理解决跨域问题IIS的版本必须是IIS7及其以上,否则没有反向代理功能:按照以下步骤来配置IIS,以实现反向代理: 1.2 配置步骤1. 下载安装ARR(Application ...

  5. Nginx +iis反向代理

    一:简介      Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.由俄罗斯的程序设计师Igor Sysoev所 ...

  6. windows环境下 nginx+iis 反向代理解决跨域问题

    项目基本完成,是时候花点时间整理一下最近的姿势了 1 什么是跨域? 网上对于跨域的概念会有大篇幅的文章去解释,似乎有点玄乎,初学者很容易对这个概念产生恐惧,跨域其实很简单,其实只要知道一点,无法跨域访 ...

  7. 【nginx网站性能优化篇(2)】反向代理实现Apache与Nginx的动静分离(LNMPA)

    为什么要使用反向代理 具体请参考这篇博文:[Linux常识篇(1)]所谓的正向代理与反向代理 在虚拟机上配置反向代理的步骤 首先假设你已经假设好了LNMP架构了,这时我们还要安装Apache和php, ...

  8. Linux中Nginx反向代理下的tomcat集群

    Nginx具有反向代理(注意和正向代码的区别)和负载均衡等特点. 这次Nginx安装在 192.168.1.108 这台linux 机器上.安装Nginx 先要装openssl库,gcc,PCRE,z ...

  9. nginx通过https方式反向代理多实例tomcat

    案例说明:前面一层nginx+Keepalived部署的LB,后端两台web服务器部署了多实例的tomcat,通过https方式部署nginx反向代理tomcat请求.配置一如下: 1)LB层的ngi ...

随机推荐

  1. 认识Junit基本注解@Before、@After、@Test、@BeforeClass、@AfterClass(转)

    一.unit中集中基本注解,是必须掌握的. @BeforeClass – 表示在类中的任意public static void方法执行之前执行 @AfterClass – 表示在类中的任意public ...

  2. C++11 实现生产者消费者模式

    代码都类似,看懂一个,基本都能理解了. 共有代码: #include <cstdlib>#include <condition_variable>#include <io ...

  3. Android中,粗暴的方式,修改字体

    序 在 Android 下使用自定义字体已经是一个比较常见的需求了,最近也做了个比较深入的研究. 那么按照惯例我又要出个一篇有关 Android 修改字体相关的文章,但是写下来发现内容还挺多的,所以我 ...

  4. 【Java基础】【03运算符&if语句】

    03.01_Java语言基础(逻辑运算符的基本用法)(掌握) A:逻辑运算符有哪些 &,|,^,! &&,|| B:案例演示 逻辑运算符的基本用法 注意事项: a:逻辑运算符一 ...

  5. Kali~2018安装后的配置

    今天,物理机上成功的安装了Kali Linux系统,但是要想用的顺手还需要花费许多时间和精力,下面就是我对它的养成之路. 一.添加普通用户 useradd -m -G sudo,video,audio ...

  6. centos7正确关机重启

    linux主要用于服务器领域,而在服务器上执行一项服务是永无止境的,除非遇到特殊情况,否则不会关机.和Windows不同,在linux系统下,很多进程是在后台执行的.在屏幕背后,可能有很多人同时在工作 ...

  7. 【Node.js】一、搭建基于Express框架运行环境+更换HTML视图引擎

      1)安装express generator生成器 这个express generator生成器类似于vue-cli脚手架工具,用来创建一个后端项目,首先我们要对生成器进行全局安装,在cmd中输入下 ...

  8. 深度学习(Deep Learning)资料大全(不断更新)

    Deep Learning(深度学习)学习笔记(不断更新): Deep Learning(深度学习)学习笔记之系列(一) 深度学习(Deep Learning)资料(不断更新):新增数据集,微信公众号 ...

  9. .NET WebAPI 利用特性捕捉异常

    声明:本方式及代码只使用与.NET Web API. 先创建类继承ExceptionFilterAttribute类型并复写OnException方法. 代码如下: using System; usi ...

  10. Phpstudy升级到Mysql8

    之前一直用的mysql5.5,最近发现Mysql8更新了很多新特性以及查询效率的提升,觉得很有必要更新下开发版本,好,废话不多说: 1.下载安装包,下载地址:mysql8.0  .如果你想要下载其它版 ...