如何将HTTPS IP重定向到域

时间:2019-02-28 06:07:26

标签: asp.net redirect iis https url-redirection

我有一个IIS 8.5上托管的asp.net网站,并且我正在使用以下规则将所有流量重定向到HTTPS:

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

当用户使用https://192.168.0.3

访问网站时,此方法不起作用
Your connection is not private
Attackers might be trying to steal your information from 192.168.0.3 (for example, passwords, messages, or credit cards). Learn more
NET::ERR_CERT_COMMON_NAME_INVALID

已为域example.com安装SSL,看来请求未到达IIS,所以我对此没有任何控制权...。我无法控制用户,无法强迫他们使用域网址。

如何将https:/192.168.0.3重定向到https://example.com

3 个答案:

答案 0 :(得分:3)

尝试通过SSL保护本地IP网址将始终以证书错误AFAIK结尾

阅读此书以了解更多信息:https://security.stackexchange.com/questions/103524/lets-encrypt-for-intranet-websites

编辑:我对IIS并不了解很多,但是在这件事上发现了这一点,可能会帮助您解决这个问题:https://blogs.msdn.microsoft.com/robert_mcmurray/2013/11/15/how-to-trust-the-iis-express-self-signed-certificate/

答案 1 :(得分:0)

鉴于HTTPS私有IP永远无法工作(您无法获得有效的证书),我想您已经来了,因为您已经从http://192.168.0.3到{{1 }}。只需修复该重定向,即可将其从https://192.168.0.3直接转到http://192.168.0.3

答案 2 :(得分:-1)

您可以做的是在IIS中创建另一个网站,并将IP地址绑定到该网站。然后在该网站中创建一个单独的Default.aspx页面,并重定向到正确的域。

<%@ Page Language="C#" %>
<%
    Response.Redirect("https://example.com");
%>

或者只是一个带有URL重写的web.config文件

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="Redirect" stopProcessing="true">
          <match url="(.*)" />
          <action type="Redirect" redirectType="Permanent" url="https://example.com" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>