IIS的反向代理

简介: IIS的反向代理

关于IIS的代理功能,网上虽然有很多文章,但是能够真正将IIS代理功能解释清楚的并不多。今天我们就一同探究一下IIS的代理功能。建议IIS版本至少为7.0(操作系统Windows Server 2008),IIS6就暂不考虑了吧。


代理分为正向代理、反向代理。


正向代理一般用于隐藏访问者真实信息,通过代理服务器对目标进行访问的操作。比如我们有时候需要访问google,google在国内无法直接进行访问,这时候我们就可以通过一个能够访问google的服务器将我们的请求信息转发给google,并接收google的返回结果。


反向代理一般是要隐藏真实的服务器信息,代理服务器将客户请求转发给目标服务器,并将目标服务器的返回结果反馈给客户。常用的例子有负载均衡,反向代理一般常用NGINX,其实IIS也有这个功能。


总得来说,正向代理针对的是如何隐藏真实客户端,反向代理针对的是如何隐藏真实的服务端。


介绍了代理的基本概念,接下来开始介绍如何在IIS下配置反向代理。


1.其实在IIS下配置反向代理是一件很简单的事情,不要有心里负担,配置起来和Nignix的方向代理基本一致。


2.安装两个IIS插件:Application Request Routing(ARRv3.0)、Url-Rewite。


Application Request Routing : The Official Microsoft IIS Site

https://www.iis.net/downloads/microsoft/application-request-routing


URL Rewrite : The Official Microsoft IIS Site

https://www.iis.net/downloads/microsoft/url-rewrite


3. 配置反向代理:

安装完ARR之后IIS中功能菜单中会多出一个Application Request Routing Cache中,打开代理的功能。

URL ReWrite安装后,点开一个网站功能菜单中会有一个 URL 重写,根据安装的版本不通URL 重写有可能是中文版或是英文版,下载的时候注意选择对应的版本。

接下来就可以进行IIS的方向代理配置,这里我们新建一个网站叫ProxyTest,绑定域名http://proxy.niubi.com(这个换成自己需要的域名)。

配置完成后访问一下网站

接下来配置方向代理,打开proxytest网站的URL重写,点击添加规则,点击弹出页面的空白规则。创建如下配置,点击应用。模式选择与模式匹配,模式的正则表达式填写(.*)全部匹配。

重写的URL填写你本地的一个URL,或者局域往内的URL,这样就能够实现返现代理的功能,浏览器中打开http://proxy.niubi.com,就可以访问到本机的8089下的内容。

配置完成后知道刚刚proxy网站的目录下,可以看到一个web.config文件,反向代理的设置就配置在这个web.config中。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="proxy.niubi.com" stopProcessing="true">
                    <match url="(.*)" negate="false" />
                    <action type="Rewrite" url="http://localhost:8089/{R:1}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

可以直接将web.config,改造成你的所有需要的直接放在网站下边就可以实现反向代理了。

IIS还可以实现URL头部改写、负载均衡等功能,这些等用的时候再一一详解。

相关文章
|
应用服务中间件 Windows
反向代理方式实现IIS与Tomcat整合
反向代理方式实现IIS与Tomcat整合
229 0
反向代理方式实现IIS与Tomcat整合
|
Web App开发 监控 应用服务中间件
|
应用服务中间件 nginx
|
应用服务中间件 nginx
|
应用服务中间件 nginx Windows
|
Web App开发 监控 应用服务中间件
使用Nginx反向代理 让IIS和Tomcat等多个站点一起飞
使用Nginx 让IIS和Tomcat等多个站点一起飞   前言:   养成一个好习惯,解决一个什么问题之后就记下来,毕竟“好记性不如烂笔头”。   这样也能帮助更多的人 不是吗?      最近闲着没事儿瞎搞,自己在写一个ASP.NET MVC的系统,所以理所当然的 在服务器上搭建了一个IIS。
3262 0
|
5月前
|
网络协议
windows_server2012搭建iis并配置http重定向 iis转发
windows_server2012搭建iis并配置http重定向 iis转发
294 1
|
3月前
|
开发框架 .NET 中间件
【Azure 云服务】在Cloud Service的代码中如何修改IIS Application Pool的配置呢? 比如IdleTimeout, startMode, Recycling.PeriodicRestart.Time等
【Azure 云服务】在Cloud Service的代码中如何修改IIS Application Pool的配置呢? 比如IdleTimeout, startMode, Recycling.PeriodicRestart.Time等
【Azure 云服务】在Cloud Service的代码中如何修改IIS Application Pool的配置呢? 比如IdleTimeout, startMode, Recycling.PeriodicRestart.Time等