windows服务器的IIS跳转(重定向)

--windows服务器的IIS跳转(重定向)
【官网】:https://www.iis.net/downloads/microsoft/url-rewrite#additionalDownloads

应用场景

出于一些类似反向代理,隐藏原始IP,优化网址格式等目的,我们需要用到iis跳转(url重定向)处理

基础资源

IIS自带的IIS Rewrite组件(需在IIS内的Web平台安装程序)中搜索,安装

使用须知

针对不同版本的IIS有不同版本的IIS Rewrite版本,需对应上。

配置步骤

步驟1)正常部署,绑定ip,端口。

 

[1]设置这个需要安装urlrewrite.dll组件。请点击IIS中【Web平台安装程序】进行安装.

[注2]如何编辑IIS Rewrite的正则脚本(可以在可视化中设置,也可以在配置文件中编写).

  示例:web.config

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <defaultDocument>
            <files>
                <remove value="default.aspx" />
            </files>
        </defaultDocument>
		<rewrite>
            <rules>	
              <rule name="3701">
                    <match url="^(.*)" />
                    <conditions>
                        <add input="{HTTP_HOST}" pattern="^100.100.100.8:3701$" />
                    </conditions>
                    <action type="Rewrite" url="http://101.101.101.43:3701/{R:1}" />
                </rule>
		<rule name="9023">
                    <match url="^(.*)" />
                    <conditions>
                        <add input="{HTTP_HOST}" pattern="^100.100.100.8:9023$" />
                    </conditions>
                    <action type="Rewrite" url="http://101.101.101.43:9023/{R:1}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

步骤2)启用代理程序.

步骤3)检查防火墙,云服务器后台端口设置及相关端口是否一致。

[注1]  Iis上给rewrite站点设置的端口和正则配置中的端口应该一致,否则无法生效..网络不通.

[注2] 涉及云服务器的还需在安全策略配置中开启相关端口的入网权限。



常见问题

快速入门

【含wss地址的iis重定向】

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <defaultDocument>
            <files>
                <remove value="default.aspx" />
            </files>
        </defaultDocument>
		<rewrite>
            <rules>
              <rule name="3601">
                    <match url="^(.*)" />
                    <conditions>
                        <add input="{HTTP_HOST}" pattern="^100.100.100.175:3601$" />
                    </conditions>
                    <action type="Rewrite" url="http://200.200.200.225:3601/{R:1}" />
                </rule>
				
				<rule name="2346">  <!--将ws://100.100.100.175:2346的访问重定向到 ws://200.200.200.225:2346-->
                    <match url="^(.*)" />
                    <conditions>
                        <add input="{CACHE_URL}" pattern="^(.+)s://"/> 
						<add input="{CACHE_URL}" pattern="^(.*)s://"/> 
						<add input="{HTTP_HOST}" pattern="^100.100.100.175:2346$" />
                    </conditions>
                    <action type="Rewrite" url="{C:1}://200.200.200.225:2346/{R:1}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

参考资料