URL重写规则到ByPass IP

时间:2017-12-16 12:31:05

标签: asp.net iis url-rewriting url-rewrite-module

我在IIS 10中有URL重写规则,以这种方式强制执行所有http请求到https,它完美无缺。

<rewrite>
      <rules>
        <rule name="HTTP/S to HTTPS Redirect" enabled="true" stopProcessing="true">
          <match url="(.*)" />
          <conditions logicalGrouping="MatchAny">
            <add input="{SERVER_PORT_SECURE}" pattern="^0$" />
          </conditions>
          <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" />
        </rule>
      </rules>
    </rewrite>

这就是扭曲.. 我在同一台服务器上托管一个ClickOnce应用程序,当安装程序尝试下载应用程序时,它会出错 URLDownloadToCacheFile因HRESULT'-2146697202失败'错误:尝试下载时出错

虽然URL是通过此错误中提到的浏览器进行的。

根据微软文档错误描述是

如果要安装的ClickOnce应用程序的安装URL从非安全站点重定向到安全站点(反之亦然),安装将失败,因为Internet Explorer警告会中断它。

**安装程序在内部使用IE来下载清单文件

现在为了解决这种情况,我已经在IIS中使用我的网站进行了IP绑定,因此我将使用IP访问该文件但是当我使用IP访问该网站时,上述规则也会触发它并重定向到HTTPS和浏览器给出再次出错,因为SSL Certs中的主机名不匹配。我想在浏览IP时绕过我的网站的重定向规则。

我不知道如何通过附加条件修改上述规则,或者在通过IP访问时绕过此https重定向的新规则是什么。

编辑:https://dpaste.de/xWJE这是完整的webconfig,其中包含@Kul Tgin的建议修复

0 个答案:

没有答案