我有一个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
?
答案 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>