我想在我的网站上实现HSTS,并且根据要求,我确实有一些页面作为HTTPS服务器存储,而某些页面作为HTTP服务器存储。 我已经给出了只为HTTPS页而不是HTTP页添加HSTS的条件。
if (HttpContext.Current.Request.Url.Scheme.ToLower() == "https")
{
response.Headers.Add("Strict-Transport-Security",
"max-age=31536000;includeSubDomains; preload");
}
添加此代码后,它说重定向太多。
请让我知道如何在某些页面HTTPS和某些页面HTTP的情况下实现HSTS。
答案 0 :(得分:1)
如果您希望某些页面在同一域上没有https,我认为您不能使用HSTS。 HSTS指示客户端(浏览器)仅通过https
访问服务器更多信息,请参见维基百科https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security
当Web应用程序向用户代理发布HSTS策略时,请遵守 用户代理的行为如下(RFC 6797):[10]
- 自动打开任何引用Web应用程序的不安全链接 进入安全链接。 (例如,http://example.com/some/page/将 在访问之前将其修改为https://example.com/some/page/ 服务器。)
- 如果无法确保连接的安全性(例如 服务器的TLS证书不受信任),用户代理必须 终止连接(RFC 6797第8.4节,安全性错误 运输机构),并且不应允许用户访问 Web应用程序(第12.1节“无用户追索权”)。