【发布时间】:2015-05-28 15:16:20
【问题描述】:
所以我把它放在我的 Global.asax.cs 中以使用 HSTS 强制 HTTPS
protected void Application_BeginRequest(Object sender, EventArgs e)
{
if (!Request.IsLocal && AppSettings.IsSSLEnforced)
{
switch (Request.Url.Scheme)
{
case "https":
Response.AddHeader("Strict-Transport-Security", "max-age=300");
break;
case "http":
var path = "https://" + Request.Url.Host + Request.Url.PathAndQuery;
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location", path);
break;
}
}
}
现在,问题是这种强制执行基于我的应用程序中的一个设置,该设置决定是否强制执行,当它设置为不强制执行时,它仍然是强制执行的。如何让它清除并停止重定向?
我尝试在其中添加一个 else
Response.AddHeader("Strict-Transport-Security", "max-age=0");
将 max-age 设置为 0 无效。如何删除它?似乎 max-age 不起作用(我使用的是 chrome),因为它已经超过 300 秒(5 分钟)
编辑:我现在尝试在 IE 中加载,但它不执行重定向,我尝试进入 chrome 设置并删除条目,但仍然没有。
【问题讨论】:
-
当您说您已进入 Chrome 设置并删除了该条目时,您是否出于
chrome://net-internals/#hsts这样做? -
@StevenV 是的,我做到了。我用的是本地的有关系吗?我输入了我在 IIS (abc.christest.com) 中设置的 url 来删除甚至查询它,它说没有结果..