{{item}}
{{item.title}}
{{items.productName}}
¥{{items.priceOne.price}}/年
{{item.title}}
HSTS(HTTP 严格传输安全)协议是一种强制通过安全的 HTTPS 通道进行网络连接的策略/机制。换句话说:如果没有有效的SSL证书,此类网站将无法在您的浏览器中加载。浏览器甚至不会显示忽略SSL警告的选项。
如果您希望网站始终通过 HTTPS 服务,可以添加 Strict-Transport-Security 标头。此 HTTPS 标头包含一个参数 max-age ,用于定义此要求的有效时长(以秒为单位)。您 还可以添加可选参数 includeSubDomains ,以强制所有子域的安全连接。
例子
HSTS标头的示例如下:
严格传输安全:max-age=31536000;includeSubDomains
此标头定义 HSTS 的有效期为 365 天,并且也会影响子域名。换句话说,下次您访问此特定网站或其子域名之一,并尝试通过不安全的 HTTP 连接进行操作时,您的浏览器将会抛出错误。
限制
请注意,只有在连接已经安全的情况下,HSTS标头才会被接受。如果页面通过HTTP连接提供,浏览器会忽略 HSTS标头。因此,务必将所有HTTP请求自动重定向到 HTTPS。
虽然 HSTS 标头可以抵御中间人攻击(例如通过公共 Wi-Fi 接入点浏览时),但如果是首次访问某个网站,仍然存在风险:黑客可以拦截您的请求并移除 HSTS 要求。因此,请确保您首次访问该网站时使用的是安全的接入点。
HTTP 严格传输安全 (HSTS)是一种机制,用于指示网站浏览器只能通过 HTTPS 访问该网站。此机制的工作原理是网站发送 Strict-Transport-Security
包含网站策略的 HTTP 响应标头。
大多数主流浏览器都支持 HSTS 。有关 HSTS 的更多详细信息,请参阅RFC 6797。
当网络浏览器强制执行域名的 HSTS 策略时,它会将该 http://
域名的所有 URL 升级到 HTTPS。如果该策略还设置了 includeSubDomains
,它也会对所有子域名执行此操作。
启用 HSTS 的网站有助于保护其用户免受路径攻击者发起的以下攻击:
如果您的网站致力于使用HTTPS,并且您希望浏览器强制您的页面仅通过HTTPS加载,我们建议按照以下步骤启用HSTS:
检查您网站的所有子域(和嵌套子域),并确保它们通过HTTPS正常运行。
将标头添加到所有 HTTPS 响应中,并使用以下标头值分阶段 Strict-Transport-Security
增加:max-age
max-age=300; includeSubDomains
max-age=604800; includeSubDomains
max-age=2592000; includeSubDomains
在每个阶段,检查是否有损坏的页面,并监控网站的各项指标(例如流量、收入)。修复所有出现的问题,然后等待 max-age
整个阶段结束后再继续下一步。例如,在最后一个阶段,等待一个月。
如果您有一组员工或用户可以对部署进行 Beta 测试,请考虑在这些用户上尝试前几个加速阶段。然后,确保从头开始,对所有用户执行所有阶段。
由于网站在浏览器访问时会告知浏览器它们支持 HSTS,因此浏览器在用户首次访问网站之前无法获知网站的 HSTS 策略。因此,浏览器在首次连接到网站之前无法强制使用HTTPS,这可能会导致用户失去保护。首次加载后,网络浏览器会获取网站的HSTS策略,并能够在所有后续加载中强制使用HTTPS。
为了解决此首次加载问题,Chrome 维护了一个具有强 HSTS 策略且仅支持 HTTPS 的域名列表。此HSTS 预加载列表内置于Chrome 中。对这些域名的请求将仅通过 HTTPS 发出;如果 HTTPS 不可用,任何HTTP 请求都将升级到 HTTPS 并连接失败。其他主流浏览器(Firefox、Safari、IE 11 和 Edge)也基于Chrome 列表拥有HSTS 预加载列表。
许多浏览器(Chrome、Safari)会自动将所有HTTP导航升级到HTTPS,无论域名的HSTS策略如何。只有当这些升级在主动攻击者存在的情况下失败时,HSTS预加载才有意义。与 HSTS 本身带来的好处相比,HSTS预加载带来的好处微乎其微。虽然我们推荐使用HSTS,但不建议使用HSTS预加载。
如果站点 preload
在HSTS标头中发送指令,则被视为请求纳入预加载列表,并且可以通过此站点上的表单提交。
为了通过此表单被接受到HSTS预加载列表,您的网站必须满足以下要求:
www
如果子域存在 DNS 记录,则必须支持该子域的 HTTPS。max-age
至少为 31536000
秒(1 年)。includeSubDomains
必须指定该指令。preload
必须指定该指令。有关 HSTS 的更多详细信息,请参阅RFC 6797。以下是有效HSTS标头的示例:
Strict-Transport-Security:``max-age=63072000; includeSubDomains; preload
您可以在上面的表单中再次输入域名来检查请求状态,或者 chrome://net-internals/#hsts
在浏览器中访问以查看当前的 Chrome 预加载列表。请注意,新条目已硬编码到 Chrome 源代码中,可能需要几个月的时间才能到达稳定版本。
您必须确保您的网站始终满足提交要求。请注意,preload
从标题中删除该指令将使您的网站立即符合移除表单的条件,并且该网站将来可能会因未能满足要求而被自动移除。
特别地,上述要求适用于2017 年 10 月 11 日 hstspreload.org
或之后提交的所有域名(即Chrome 63之后预加载的域名)
同样的要求也适用于2016 年 2 月 29 日或之后提交的早期域名(即 Chrome 50 之后预加载的域名),只是这些域名所需的最大年龄仅为 10886400
几秒。
如果您维护的项目提供HTTPS配置建议或启用 HSTS 的选项,请不要 preload
默认包含该指令。我们经常收到一些网站运营人员的电子邮件,他们尝试过这种方式启用HSTS,结果却发现自己被列入了预加载列表,却没有意识到某些子域名无法支持HTTPS。对于这些网站来说,移除HSTS往往既缓慢又痛苦。
支持或建议HSTS和HSTS预加载的项目应确保网站运营者在为特定域名启用预加载之前了解预加载的长期后果。还应告知他们,他们需要满足额外要求并将其网站提交至hstspreload.org,以确保网站成功预加载(即获得预期配置的全面保护)。
即使在首次访问网站之前,也可以在更高级别上强制执行安全连接:HSTS 预加载列表。这是一个默认支持 HSTS 的域名列表:无需逐个添加 HSTS 标头,始终支持HSTS。此列表由 Google 管理,所有主流网络浏览器(包括 Chrome、Firefox 和 Internet Explorer)均使用。如果您感兴趣, 可以查看已添加到 HSTS 预加载列表的完整(https://cs.chromium.org/chromium/src/net/http/transport_security_state_static.json)域名列表。如果您想将您的网站添加到 HSTS 预加载列表,请访问hstspreload.org网站。
不仅可以将域名添加到 HSTS 预加载列表中,还可以将完整的顶级域名(域名后缀)添加到 HSTS 预加载列表中。如果注册局决定将其后缀添加到 HSTS 预加载列表中,则在该顶级域名 (TLD) 下注册的每个域名都必须通过 HTTPS 提供服务。首批使用 HSTS 预加载列表的后缀是 .bank 和 .insurance——这两个后缀以安全性为独特卖点。Google 注册局还将 .app 和 .dev 添加到 HSTS 预加载列表中。
如果您仍希望提交您的域名以纳入 Chrome 的HSTS预加载列表,并且您已遵循我们的部署建议慢慢增加 max-age
您网站 Strict-Transport-Security
标头的权重,您可以使用此表单来执行此操作:
本文来源:https://hstspreload.org/#submission-requirements
尽快选购申请,价格随时改变!