IIS-反向代理

测试环境: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

时间: 2024-11-06 17:45:35

IIS-反向代理的相关文章

IIS反向代理404错误

IIS反向代理不是什么新鲜事,网上也能找到一大堆的教程.但是都基本一致. 我也是第一次使用IIS反向代理,按照以下教程来配置. http://www.cnblogs.com/dreamer-fish/p/3911953.html http://www.cnblogs.com/leven/archive/2009/11/10/Proxy_Application_Request_Routin.html 但配置没有任何问题,和大部分网上教程一样,下载并安装Application Request Rou

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)

ASP.NET基于IIS反向代理实现Web负载均衡实战演练

一.课程介绍 随着公司业务的发展,后台.NET Web应用程序业务就变的越来越多,然而服务器的故障,时不时的汹涌而至,单点故障让我们防不胜防.由于客户访问量逐渐增多,单一个WEB站点(MVC.WebApi)响应越来越慢,由于我们的业务都是采用.NET Web应用程序部署托管在IIS上,那么如何实现我们流量的削峰谷平,应用程序的横向扩展,从而来提高单台WEB站点的吞吐量,降低了单台Web站点的压力. 这我们里决定采用微软的负载均衡解决方案,用两台WEB服务器供客户访问,这两台服务器提供相同的站点内

Visual SVN IIS反向代理设置

需要解决的问题: 1. 设置反向代理 2. 解决部分后缀文件无法提交的问题 1. 设置反向代理 接收所有的URL 允许所有的HTTP_HOST 跳转到被代理的服务器 2. 允许所有后缀的文件访问IIS服务器 清楚所有IIS默认的fileExtensions <security> <requestFiltering> <fileExtensions> <clear/> </fileExtensions> </requestFiltering&

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

目标,使IIS具有类似与Nginx的功能,将指定域名的请求重定向到IIS内.IIS外.其他机器上的其他端口,并且实现https卸载功能 重点预告: 1.安装最新版urlrewrite(微软开发的)插件 2.安装最新版ARR插件(Application Request Routing) 3.添加重定向规则 4.流量:外网==>IIS==>指定网站==>UrlRewrite==>ARR==>你的目标程序的url 如果只转发到IIS内网站,则不需要ARR.如果要转发到其他程序或机器

nginx + IIS 反向代理

简化拓扑如图 我们这里只简单为描述原理来说明反向代理的过程 前端nginx反向代理true IIS server nginx反向代理配置代码如下.这里我只摘取其中一server,主要在header头,当后端只有一台IIS服务器且运行多个虚拟主机的时候适用. server { listen 80; server_name site1.cxsz.com; #charset koi8-r; #access_log logs/host.access.log main; location / { prox

Nginx +iis反向代理

一:简介      Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用.其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好. 二:此次安装的是一个运行在windows上的反向代理服务器,主要和iis配合使用 直接启动exe文件即可 注意: 文件夹不能

Windows Server 2008 中iis反向代理设置

1.安装 IIS(Windows专业版自带,如果是server版系统,需要通过功能管理器安装(无需下载)) urlrewrite插件,https://www.iis.net/downloads/microsoft/url-rewrite ARR插件(Application Request Routing)https://www.iis.net/downloads/microsoft/application-request-routing.如果只转发到IIS内网站,则不需要ARR 上面两个插件均可

iis7.5做反向代理配置方法实例图文教程

网络上好多开场的文章就说了好多的原理之类的这里我们直接开始配置.不过也要简单说下win下配置反向代理只有IIS7以上的版本才可以实现这个功能,在这里我们使用WINDOWS2008 R2来做为测试 2008R2上安装的是IIS 7.5 ,我们需要通过Application Request Routing模块来实现反向代理.接下来我们来说下Application Request Routing模块的安装方法首先前往http://www.iis.net/extensions/ApplicationRe

.Net Core实践4 web 反向代理

目标 将控制台程序改成web程序,通过IIS反向代理,处理请求 环境 win10 / .net core 2.1 / centos7 变成web程序 1.在新建的asp.net core控制台程序中添加 Microsoft.AspNetCore.Server.IISIntegration   // 这个用于IIS反向代理 Microsoft.AspNetCore.Server.Kestrel  // 这个是asp.net core的服务器,由于跨平台,所以不能再使用IIS了,以前的ASP.NET