通过开启HSTS(HTTP Strict Transport Security)功能,您可以强制客户端(例如:浏览器)使用HTTPS与服务器创建连接,降低第一次访问请求被拦截的风险。
前提条件
背景信息
当您全站使用HTTPS请求时,在浏览器输入或直接单击HTTP链接,服务器会将该HTTP请求301或302重定向到HTTPS。该操作过程中请求可能被拦截,导致重定向后的请求未发送到服务器,该问题可以通过HSTS来解决。
浏览器处理域名的HTTP访问时,若该域名的HSTS没有过期,则在浏览器内部做一次307重定向到HTTPS,从而避免浏览器和服务器之间301或302重定向请求被拦截的风险。
HSTS响应头结构为:
Strict-Transport-Security:max-age=expireTime [;includeSubDomains] [;preload]
,参数说明如下表所示。
参数 | 说明 |
---|---|
max-age | HSTS Header的过期时间,单位为秒。 |
includeSubDomains | 可选参数。如果包含这个参数,说明该域名及其所有子域名均开启HSTS。 |
preload | 可选参数。当您申请将域名加入到浏览器内置列表时需要使用preload列表。 |
说明
- HSTS生效前,第一次需要将301或302重定向到HTTPS。
- HSTS响应头在HTTPS访问的响应中有效,在HTTP访问的响应中无效。
- 仅对443端口有效,对其他端口无效。
- 仅对域名有效,对IP无效。
在文档使用中是否遇到以下问题
更多建议
匿名提交