欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

IIS反向代理设置

程序员文章站 2022-03-24 10:45:24
...

因为服务器对外开放接口只要部分接口,而开发程序部署时可能在内部其他端口,加上或者开发接口为32位运行程序,这里需要用到反向代理,通过80端口一起对外暴露。因此,这里记录下反向代理设置的步骤。

1.软件程序

设置IIS反向代理,需要安装反向代理组件,安装程序为requestRouteri和rewrite。安装这个插件组件。安装环境为64位操作系统,因此,安装程序为requestRouter_amd64.msi和rewrite_amd64.msi。

下载地址:https://download.csdn.net/download/qq_31881865/11983323

                                                                               IIS反向代理设置

点击运行安装即可。

安装完成后,打开IIS管理器,可以看到如下,表示安装成功。

IIS反向代理设置

2 配置Application Request Routing Cache

安装完成后,打开IIS->选中服务器名称->双击 右侧功能视图 IIS 节点下的Application Request Routing Cache->点击 右侧操作视图Proxy节点下的Server Proxy Settings->勾选上Enable Proxy前面的复选框

IIS反向代理设置

IIS反向代理设置

IIS反向代理设置

IIS反向代理设置

3、配置虚拟目录的URL重写规则

在IIS节点,站点节点,虚拟目录节点都可以配置URL重新规则,并且一级级继承。配置完成后信息保存到对应的web.config文件中。

IIS反向代理设置

首先,配置入站规则。把http://localhost:11255 这样的url重写成 http://localhost:11236

创建空白规则

IIS反向代理设置

IIS反向代理设置

对规则进行编写,在名称里面我们写入”test“这里的名字我们可以随便的起
 

IIS反向代理设置

模式里面写入:^(.*)    -------------  ^(.*)表示处理所有格式的URL字符串

IIS反向代理设置
然后我们配置“条件”如下图:

我们点击”点击“打开添加对话框;条件输入”填“{HTTP_HOST}”意思是请求的主机名,模式格式为:“^绑定的域名$”,这里我想让用户访问http://localhost:11236访问时跳转到loaclhost:11255,也就是对loaclhost:11255做反向代理,就写成这样(^http://localhost:11236$),前提是填的这个域名必须绑定在你的代理服务器IP上。然后我们点击确定。

IIS反向代理设置

我们在重写里面写入需要反向代理的域名就可以了。格式:http:loaclhost:11255/{R:1} 然后我们点击右边的应用如下图:

IIS反向代理设置

点击确定。

配置文件确认,或者修改

站点右键菜单,点击浏览,查看web.config,文件,可以对相关参数进行文件修改。

IIS反向代理设置

IIS反向代理设置

<rewrite>
            <rules>
                <rule name="EGRYDW">
                    <match url="eg/(.*)" />
                    <action type="Rewrite" url="http://localhost:11255/{R:1}" />
                </rule>
            </rules>
        </rewrite>

 

单个配置文件示例

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="geofence" enabled="true">
                    <match url="eg/(.*)" />
                    <action type="Rewrite" url="http://localhost:11240/{R:1}" />
                </rule>
            </rules>
<outboundRules>
            <preConditions>
               <preCondition name="No Domain">
                  <add input="{RESPONSE_Set_Cookie}" pattern="." />
                  <add input="{RESPONSE_Set_Cookie}" pattern="; domain=.*" negate="true" />
               </preCondition>
            </preConditions>
          </outboundRules>
        </rewrite>
    </system.webServer>
</configuration>

 

相关标签: IIS IIS反向代理