Asp.net 根据传入的IP地址绕过web.config文件中的规则

Asp.net 根据传入的IP地址绕过web.config文件中的规则,asp.net,iis,web-config,iis-10,Asp.net,Iis,Web Config,Iis 10,我已经尝试了6个小时的解决方案来解决这个问题,但是在stack或者微软的开发者博客上都找不到任何东西。当通过内部调用访问网站时,我试图从所有外部调用强制HTTPS重定向到我的网站,同时仍然转到HTTP站点,在这种情况下,使用浏览器URL栏中的IP地址192.168.8.68。在我们昨天安装了SSL证书并实现以下重定向规则之前,这一切都非常有效: <rule name="Redirect to HTTPS" patternSyntax="Wildcard" stopProcessing="t

我已经尝试了6个小时的解决方案来解决这个问题,但是在stack或者微软的开发者博客上都找不到任何东西。当通过内部调用访问网站时,我试图从所有外部调用强制HTTPS重定向到我的网站,同时仍然转到HTTP站点,在这种情况下,使用浏览器URL栏中的IP地址192.168.8.68。在我们昨天安装了SSL证书并实现以下重定向规则之前,这一切都非常有效:

<rule name="Redirect to HTTPS" patternSyntax="Wildcard" stopProcessing="true">
    <match url="*" />
    <conditions logicalGrouping="MatchAny">
        <add input="{HTTPS}" pattern="OFF" />
    </conditions>
    <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" appendQueryString="false" />
</rule>


您可以使用此规则绕过来自ip 192.168.8.*的请求

<rule name="Redirect to HTTPS" enabled="true" patternSyntax="ECMAScript" stopProcessing="true">
    <match url=".*" />
    <conditions logicalGrouping="MatchAny">
                        <add input="{HTTPS}" pattern="OFF" />
                        <add input="{REMOTE_ADDR}" pattern="192\.168\.8\.[0-9]+" negate="true" />
    </conditions>
    <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" appendQueryString="false" redirectType="Permanent" />
</rule>


至少第四个链接显示了如何添加IP地址相关条件,回答了您的问题。当一些尝试不起作用时,学习FRT调试,你是正确的Lex,但我应该提到的是,由于太多的笑话,该特定的解决方案导致网站崩溃。正如我在对这个问题的评论中提到的,这会导致网站无法加载,因为涉及太多重定向。@ZGC1。对不起,我的错。我忘记修改“logicalGrouping”,请将标志设置为