1.概念说明:反向代理
反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。【来源】https://baike.baidu.com/item/%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86/7793488?fr=aladdin
2.应用场景说明:【具体分析实际情况】
3.场景准备
在服务器A的tomcat部署一个测试网站:http://192.168.56.1:8080/
服务器B安装IIS及相关组件。
4.操作步骤
(1)安装ARR组件、安装下面两个软件
a)url重定向安装包(双击可安装,不行的话请另行下载:https://www.iis.net/downloads/microsoft/url-rewrite#additionalDownloads)
b)requestRouter_amd64安装包(双击可安装,不行的话请另行下载:https://www.iis.net/downloads/microsoft/url-rewrite#additionalDownloads)
(2)安装完成后IIS目录界面如下
(3)创建一个网站(myProxy),物理路径随便定义一个指定就行。
(4)配置host文件(可选项,如果要指定127.0.0.1指向某个域名)
(5)启用Proxy
(6)添加URL重写规则
选择我们创建好的网站,然后打开URL重写设置页面–在右侧点击“添加规则”,在弹出的窗口中选择创建“空白规则”。
配置相关参数
设置完成后点“应用”
至此已完成配置。
5.测试效果
打开浏览器输入应用服务器A发布的网站的地址:http://192.168.56.1:8080/,效果如下图。
打开浏览器输入代理服务器B进行url重写后的地址:http://192.168.2.107:8088/,效果如下。
6.总结
通过页面配置完成后,在myProxyServer目录下会生产一个web.config文件,保存了配置信息,另一种方式我们可在myProxyServer中创建文件web.config,然后编辑以下信息并保存即可。
web.config配置信息:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="myProxyServer">
<match url="^(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^192.168.2.107:8088$" />
</conditions>
<action type="Rewrite" url="http://192.168.56.1:8080/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
这里是http的方案。如通过https请求,需要使用SSL证书另行配置,且需要有通过备案的IP或域名。
说明:IIS网站请求限制配置(参数默认是4096,如果post参数较长就会被限制了,所以改下)。如果应用中有post请求的参数较长而被限制时,可通过调整以下配置解决。
maxAllowedContentLength:设置上传附件的大小
MaxQueryString:设置请求参数长度
MaxUrl:设置url长度(一般比MaxQueryString要长一些)