将请求的网址重写重定向到其它网址。当80端口被占用无法同时使用两个Web服务的解决方案,使得IIS和Apache Tomcat 共存

0|1环境

WindowServer 2008 IIS7

Apache 集成在WampServer

Tomcat

测试程序:微擎(PHP) 、 某管理系统(Java)

0|1工具

Application Request Routing(ARR x64)(ARR x32

URL Rewrite(x64 x32

0|1需求

服务器只允许开放 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)

0|1教程

反向代理

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实现方向代理的更多相关文章

  1. 【运维】在Windows上使用IIS方向代理配置Websocket

    最近在做小程序的项目,微信要求所有数据请求通道都要走https或wss.而我们的项目建设如下: api基于C#的MVC webapi开发. websocket基于Nodejs的thinkjs框架开发. ...

  2. windows利用iis配置反向代理实现ECS内网互通oss

    IIS实现反向代理 新建两个站点,端口分别使用 80 和 81,在DNS中新建A记录,指向该计算机(10.4.34.41) 配置过程如下: 1.在Windows Server 2012 R2上 安装A ...

  3. SVN 通过IIS设置反向代理访问

    原因 一个字,穷,没办法,只有一台机器 要当测试服务器还要做源码管理. 解决办法 通过IIS配置反向代理访问SVN,给SVN访问的HTTPS绑定上域名,就可以正常访问了. 1.修改SVN配置 把SVN ...

  4. IIS充当反向代理转发请求到Kestrel

    接着上篇博文为ASP.NetCore程序启用SSL的code,这篇将介绍如何用IIS充当反向代理的角色转发请求到Kestrel服务器 介绍 与ASP.NET不同,ASP.netCore使用的是自托管w ...

  5. 使用IIS实现反向代理

    IIS的反向代理是通过ARR模块来完成的,ARR模块需要另外安装,而且只能通过Web PlatForm Installer安装.关于安装来源与步骤,帖子已有很多,不做描述.启用“Application ...

  6. iis配置反向代理oss

    windows利用iis配置反向代理实现ECS内网互通oss IIS实现反向代理 新建两个站点,端口分别使用 80 和 81,在DNS中新建A记录,指向该计算机(10.4.34.41) 配置过程如下: ...

  7. asp.net core 托管到windows服务,并用iis做反向代理

    使用NSSM把.Net Core部署至 Windows 服务   为什么部署至Windows Services 在很多情况下,很少会把.Net Core项目部署至Windows服务中,特别是Asp.n ...

  8. nginx 配置方向代理出错 The character [_] is never valid in a domain name

    nginx 配置方向代理出错 The character [_] is never valid in a domain name 下面是配置信息: 原因是使用的tomcat为8及以上的版本时upstr ...

  9. 用IIS配置反向代理

    http://my.oschina.net/tanyixiu/blog/123832 目标服务器:targetServer 配置反向代理的服务器:reveseProxServer 1.确定最终访问的网 ...

随机推荐

  1. 添加Mybatis

  2. pyqt5的简单进度条程序

    # -*- coding: utf-8 -*- # @Author : FELIX # @Date : 2018/5/17 16:43 from PyQt5.QtCore import QBasicT ...

  3. 【线性代数】2-4:矩阵操作(Matrix Operations)

    title: [线性代数]2-4:矩阵操作(Matrix Operations) toc: true categories: Mathematic Linear Algebra date: 2017- ...

  4. 总结调试webview的方式(安卓)

    参考文章: 移动端真机调试指南 Mac 平台 Android 使用 Charles 抓包方法 Charles使用Map Local和Rewrite提高开发效率 通过chrome直接进行调试 chrom ...

  5. Java基础_线程的使用及创建线程的三种方法

    线程:线程是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务. 进程:进 ...

  6. Amdahl定律和可伸缩性

    性能的思考 提升性能意味着可以用更少的资源做更多的事情.但是提升性能会带来额外的复杂度,这会增加线程的安全性和活跃性上的风险. 我们渴望提升性能,但是还是要以安全为首要的.首先要保证程序能够安全正常的 ...

  7. Unity通过世界坐标系转换到界面坐标位置

    public static Vector2 WorldToCanvasPoint(Canvas canvas, Vector3 worldPos) { Vector2 pos; RectTransfo ...

  8. 树及其衍生算法(Trees and tree algorithms)

    1,二叉树(Binary tree) 二叉树:每一个节点最多两个子节点,如下图所示: 相关概念:节点Node,路径path,根节点root,边edge,子节点 children,父节点parent,兄 ...

  9. JVM学习笔记之初识JVM(三)

    一.JVM在计算机中的位置 JVM调用操作系统,操作系统调用硬件,硬件反馈信息至操作系统,操作系统反馈信息至JVM 二.JVM的体系结构 JVM在执行过程中对内存的管理分为5个区域: 1.PC寄存器 ...

  10. 指定JSON.toJSONString中实体类属性的输出顺序

    最近在使用JSON.toJSONString过程中出现实体类的属性与转换之前的顺序不一致 public static void main(String[] args) { Person person ...