测试环境:Windows10、IIS/10.0

1.安装ARR、URL Rewrite(URL重写工具2.0)

  注意英文和中文环境的对应:

    Application Request Routing 对应中文 应用程序请求路由

    URL Rewrite Module 对应中文 URL重写

  下载安装ARR(也可以在IIS管理器中,Web平台安装程序->产品->搜索框中搜索"arr"->应用程序请求路由3.0 Beta->添加->安装): http://www.iis.net/downloads/microsoft/application-request-routing

  下载安装URL Rewrite Module(也可以在IIS管理器中,Web平台安装程序->产品->搜索框中搜索"url"->url重写工具2.0->添加->安装): http://www.microsoft.com/en-us/download/details.aspx?id=7435

  以上安装完后重新打开 IIS 管理器,可以看到如下

2.启用ARR:双击ARR(Application Request Routing)->点击右侧Server Proxy Settings...->选中Enabel proxy->点击右侧“应用”

3.启用URL重写,可以通过web.config配置,也可以通过界面设置(web.config最终也可以使用界面来查看和操作),比如web.config样例,

  此时 www.che.com/che 或者 www.che.com/che/xxxx 都被代理到 www.proxy.com 或者 www.proxy.com/xxx,如果不想过滤掉"che",只需要把match url 改成 "^(che(/?|.*))$"

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="cheProxy" stopProcessing="true">
<match url="^che(/?|.*)$" />
<conditions>
<add input="{HTTP_HOST}" pattern="www\.che\.com" />
</conditions>
<action type="Rewrite" url="http://www.proxy.com{R:1}" />
<serverVariables>
<set name="HTTP_X_FORWARDED_HOST" value="{HTTP_HOST}" />
</serverVariables>
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

  由于使用了变量 HTTP_X_FORWARDED_HOST,所以需要在 url重写->查看服务器变量->添加->添加HTTP_X_FORWARDED_HOST

IIS-反向代理的更多相关文章

  1. IIS 反向代理 golang web开发

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

  2. IIS 反向代理到 Apache、Tomcat

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

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

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

  4. Nginx +iis反向代理

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

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

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

  6. IIS反向代理/Rewrite/https卸载配置

    目标,使IIS具有类似与Nginx的功能,将指定域名的请求重定向到IIS内.IIS外.其他机器上的其他端口,并且实现https卸载功能 重点预告: 1.安装最新版urlrewrite(微软开发的)插件 ...

  7. Visual SVN IIS反向代理设置

    需要解决的问题: 1. 设置反向代理 2. 解决部分后缀文件无法提交的问题 1. 设置反向代理 接收所有的URL 允许所有的HTTP_HOST 跳转到被代理的服务器 2. 允许所有后缀的文件访问IIS ...

  8. 使用iis反向代理.net core应用程序

    .net core 其实是自宿主性质的web应用程序,而不再是web网站,所以.net core是可以直接单独作为系统服务部署.但是实际情况中,为了同个一个端口能支持多个web应用和统一管理,还是应该 ...

  9. IIS反向代理配置教程(最终完整版本)

    IIS代理配置教程 插件下载:https://download.csdn.net/download/song_yan_/11996489 一.安装反向代理插件 1.rewrite插件安装 (1) 双击 ...

  10. Windows Server 2008 中iis反向代理设置

    1.安装 IIS(Windows专业版自带,如果是server版系统,需要通过功能管理器安装(无需下载)) urlrewrite插件,https://www.iis.net/downloads/mic ...

随机推荐

  1. ThreadLocal的分享

    最开始的时候打算自己写点什么,但是看了这些博客以后感觉真的不知道应该写点什么了,全部都是好文章,只做分享了,链接如下: 1.http://www.cnblogs.com/dolphin0520/p/3 ...

  2. build.xml配置编译打包过程(转)

    工程目录如下,使用eclipse中的ant对此工程进行编译打包: MonServer | --------src |            |--------com |            |--- ...

  3. How can I read binary files from Resources

    How can I read binary files from Resourceshttp://answers.unity3d.com/questions/8187/how-can-i-read-b ...

  4. Yii 验证输入框是否输入的是数字

    在对应的Model文件的rules中加入如下代码: array('age,phone', 'numerical', 'integerOnly'=>true,'message'=>'{att ...

  5. 介绍开源的.net通信框架NetworkComms框架之七 数据加密通信

    原文网址: http://www.cnblogs.com/csdev Networkcomms 是一款C# 语言编写的TCP/UDP通信框架  作者是英国人  以前是收费的 目前作者已经开源  许可是 ...

  6. OC语言前期准备

    OC语言前期准备 一.OC简介 Oc语言在c语言的基础上,增加了一层最小的面向对象语法,完全兼容C语言,在OC代码中,可以混用c,甚至是c++代码. 可以使用OC开发mac osx平台和ios平台的应 ...

  7. 做办公用品、文具方面的 B2C 是否有前景呢?

    企乐买现在正在做这方面的事,从市场角度来说需求是有的,客单价和重复购买率都还可以,但是也存在几个致命问题使得施展不开举步维艰: 1.中国特有的市场环境:在美国企业办公用品一般都是网上采购,避免灰色的东 ...

  8. [vijos P1035] 贪婪的送礼者

    为何我要做此等弱智题,只因我太久不码代码,心有所虚… 明天的任务是,做些难题,累了就理房间,实在不行就睡觉,不要做别的事情w 目测自己做不到呢OAO program vijos_p1035; ..] ...

  9. hdu 1039 (string process, fgets, scanf, neat utilization of switch clause) 分类: hdoj 2015-06-16 22:15 38人阅读 评论(0) 收藏

    (string process, fgets, scanf, neat utilization of switch clause) simple problem, simple code. #incl ...

  10. 将字符串拆分为id

    Sql : alter function [fn_splitSTR] ( ), -- 5,6,7 ) -- ',' ) )) as begin declare @splitlen int begin ...