IIS的反向代理
关于IIS的代理功能,网上虽然有很多文章,但是能够真正将IIS代理功能解释清楚的并不多。今天我们就一同探究一下IIS的代理功能。建议IIS版本至少为7.0(操作系统Windows Server 2008),IIS6就暂不考虑了吧。
代理分为正向代理、反向代理。
正向代理一般用于隐藏访问者真实信息,通过代理服务器对目标进行访问的操作。比如我们有时候需要访问google,google在国内无法直接进行访问,这时候我们就可以通过一个能够访问google的服务器将我们的请求信息转发给google,并接收google的返回结果。
反向代理一般是要隐藏真实的服务器信息,代理服务器将客户请求转发给目标服务器,并将目标服务器的返回结果反馈给客户。常用的例子有负载均衡,反向代理一般常用NGINX,其实IIS也有这个功能。
总得来说,正向代理针对的是如何隐藏真实客户端,反向代理针对的是如何隐藏真实的服务端。
介绍了代理的基本概念,接下来开始介绍如何在IIS下配置反向代理。
- 其实在IIS下配置反向代理是一件很简单的事情,不要有心里负担,配置起来和Nignix的方向代理基本一致。
- 首先安装两个IIS插件:Application Request Routing(ARRv3.0)、Url-Rewite。
- Application Request Routing(ARRv3.0) 下载连接: https://www.iis.net/downloads/microsoft/application-request-routing
- Url-Rewite 下载连接: 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头部改写、负载均衡等功能,这些等用的时候再一一详解。
版权声明:
作者:Xuan
链接:https://www.tacores.com/archives/426
来源:优林博客
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论