Url rewriting IIS 10-阻止对servername的直接请求(SOAPUI除外)的URL重写规则

Url rewriting IIS 10-阻止对servername的直接请求(SOAPUI除外)的URL重写规则,url-rewriting,iis-10,Url Rewriting,Iis 10,窗口2016/IIS 10 我想阻止所有使用servername:portnumber/服务的请求,并强制使用DNS别名。目前的问题似乎是,当规则“AllowSOAPUI”匹配时,它不会停止处理,因此最后一个规则会启动并阻止SOAPUI <rule name="Allow SOAPUI" enabled="true" patternSyntax="Wildcard" stopProcessing="true"> <match url="*" /> <con

窗口2016/IIS 10

我想阻止所有使用servername:portnumber/服务的请求,并强制使用DNS别名。目前的问题似乎是,当规则“AllowSOAPUI”匹配时,它不会停止处理,因此最后一个规则会启动并阻止SOAPUI

 <rule name="Allow SOAPUI" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
  <match url="*" />
  <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
    <add input="{HTTP_HOST}" pattern="dsttst100*" />
    <add input="{HTTP_USER_AGENT}" pattern="*SOAPUI*" negate="true" />
  </conditions>
  <action type="Rewrite" url="http://redirect.to.what" />
 </rule>
 <rule name="Only allow requests from loadbalancer" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
  <match url="*" />
  <conditions logicalGrouping="MatchAny" trackAllCaptures="false">
  <add input="{REMOTE_ADDR}" pattern="111.22.55.11" negate="true" />
  </conditions>
  <action type="CustomResponse" statusCode="403" subStatusCode="6" statusReason="Only allowed from IISAR01 (use DNS) or using SOAPUI" statusDescription="Use dns-alias" />
 </rule>

在尝试描述我的问题时,我确实找到了解决方案——至少一个可能的解决方案。触发第二条规则的原因是,每当触发带有servername:port和SOAPUI用户代理的请求时,它与第一条规则不匹配…因为它是SOAPUI。解决方案是在servername:portnumber和SOAPUI时创建第二个操作类型为none的规则

<rule name="Servername - allow SOAPUI" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
   <match url="*" />
   <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
       <add input="{HTTP_HOST}" pattern="dsttst100*" />
       <add input="{HTTP_USER_AGENT}" pattern="*SOAPUI*" />
   </conditions>
   <action type="None" />
</rule>

这将阻止处理最后一条规则