网络上好多开场的文章就说了好多的原理之类的这里我们直接开始配置。
不过也要简单说下win下配置反向代理只有IIS7以上的版本才可以实现这个功能,在这里我们使用WINDOWS2008 R2来做为测试 2008R2上安装的是IIS 7.5 ,我们需要通过Application Request Routing模块来实现反向代理。
接下来我们来说下Application Request Routing模块的安装方法首先前往http://www.iis.net/extensions/ApplicationRequestRouting下载Application Request Routing,然后安装(说明:有的打开网站不知道从哪里下载这里我们说明下)
我们点击进入下载界面如下图
在这里呢我们也提供下下载的本机地址
requestRouter_x64.msi
requestRouter_x86.msi
然后我们直接点击下载的文件
我们直接点击“install"进行安装
我们点击”Finish"完成我们的安装,接下来我们打开我们的IIS
下面我们Proxy项
我们双击”Application Request Routing Cahce"出现如下图界面
我们点击”Server Proxy Settings……“出现如下图所示:
我们可以看到默认的是没有开启的,下面看下我们的设置如下图:
在这里我们直接开启就可以了。其他的不用做任何的设置然后我们点击右边”操作“里面的应用就开启了我们的IIS反向代理功能了如下图:
下面我们以实例的方式做一个反向代理。我们现在观看的域名http://www.luyouqiwo.com为这个域名。我们用反向代理实现输入http://www.luyouqiwo.com打开http://www.idcff.com这个网站上的内容。
下面看我们的操作。
首先我们需要把我们的域名http://www.luyouqiwo.com重新解析到我们的代理服务器上。因为现在我们测试代理服务器是内网的IP所以我们在我们的客户端上面更改下HOST文件让我们的域名http://www.luyouqiwo.com指向我们的代理服务器192.168.1.179 更改过测试如下图:
这样我们的域名就生效了接下来看操作
第一步:我们需要在IIS上建立一个站点在这里我们使用IIS的默认站点来测试:
我们双击"URL"重写打开如下图
我们点击”添加规则“出现如下图:
打开后默认的就是一个”空白规则“然后我们直接点击”确定“-如果不是的话我们需要选择”空白规则“
第二我们对规则进行编写
在名称里面我们写入”反向代理规则“这里的名字我们可以随便的起
模式里面写入:^(.*) ------------- ^(.*)表示处理所有格式的URL字符串
然后我们配置“条件”如下图:
我们点击”点击“打开添加对话框;条件输入”填“{HTTP_HOST}”意思是请求的主机名,模式格式为:“^绑定的域名$”,这里我想让用户访问http://www.luyouqiwo.com访问时跳转到[url=http://www.idcff.com]www.idcff.com[/url],也就是对www.idcff.com做反向代理,就写成这样(^www.luyouqiwo.com$),前提是填的这个域名必须绑定在你的代理服务器IP上。然后我们点击确定。
接下来我们找到操作:这些都在一个界面上我们拉滚动条就可以看到如下图:
我们在重写里面写入需要反向代理的域名就可以了。格式:http://www.idcff.com.com:80/{R:1} 然后我们点击右边的应用如下图:
这样我们的伪静态就配置好了。我们来访问下反向的域名www.luyouqiwo.com打开如下图:
我们可以看到打开我们现在访问的域名的内容改变了。反向代理成功。
说白了IIS实现反向代理的也只是一个配置文件,我们上面的文件内容为:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="反向代理规则">
<match url="^(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^www.luyouqiwo.com$" />
</conditions>
<action type="Rewrite" url="http://www.idcff.com:80/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
我们保存成web.config文件放到根目录下就可以了。前提需要安装Application Request Routing和开启反向代理功能