HSTS(HTTP Strict Transport Security,HTTP 严格传输安全)是一种网站安全策略机制,它强制浏览器仅通过加密的 HTTPS 连接与服务器通信交互,杜绝使用不安全的 HTTP。它有效防止中间人攻击、SSL 剥离攻击和 Cookie 劫持,保障数据安全,提升访问速度与体验。
在 aaPanel 面板/宝塔面板左侧的菜单栏,网站 ->网站列表 -> 需要开启 HSTS网站 -> 配置文件(Conf),点击“配置”,找到 server 块内部(通常放在 SSL 配置附近,或 listen 443 ssl 之后)。将以下配置代码粘贴进去,若有类似代码请务必删除或注释掉——
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
代码解释:
max-age=63072000:告诉浏览器在未来两年内,强制使用HTTPS访问该网站(单位:秒)
includeSubDomains:该策略同时适用于当前域名的所有子域名
preload:允许将域名提交至浏览器内置 HSTS 预加载列表(Chrome、Firefox、Safari、IE 11 和 Microsoft Edge 等主流浏览器共享此列表)
点击 保存 即可。保存后,你可以通过浏览器的开发者工具(按F12,查看网络请求的响应头)来验证是否生效 。
温馨提醒:一旦启用 HSTS 支持,若 HTTPS 证书配置不正确或到期未更新,HSTS 会让浏览器强制拦截连接,用户无法通过点击“依然访问”的选项跳过告警错误,导致网站在设置的 max-age 期间对用户不可用,也无法降级至 HTTP 访问网站。若需删除请访问 https://hstspreload.org/removal 。
提交域名至 HSTS 预加载列表
请确保网站能够通过 HTTPS 正常访问且稳定运行一段时间,同时,网站能自动重定向 HTTP 到 HTTPS,此外,所有的子域名都能使用 HTTPS 进行访问。
按照上文正确设置 HSTS 后,访问上述网址,在“Submission Form”输入已开启 HSTS 支持的域名,如 meledee.com,并提交。系统会自动校验,若符合条件会允许提交。
勾选下方的“I understand that preloading meledee.com through this form will prevent all subdomains and nested subdomains from beingaccessed without a valid HTTPS certificate:”并点击“Submit meledee.com to the HSTS preload list”按钮,显示提交成功。
过几周后,再次访问网址可查看列表的最新收录状态。以我的网站 meledee.com 为例,若显示 Status: meledee.com is currently preloaded. ,则代表已将域名提交至 HSTS 预加载列表。
提交域名至 HSTS 预加载列表,我的网站 meledee.com 遇到以下两个错误提示:
问题一:Warning: Unnecessary HSTS header over HTTP Error: www subdomain does not support HTTPS.
aaPanel 面板/宝塔面板的配置文件编写逻辑有误,需修改原配置文件 ,正确代码如下,记得将 meledee.com 修改成您的网站——
server
{
listen 80;
server_name meledee.com www.meledee.com;
return 301 https://$host$request_uri;
}
问题二:Domain error: The www subdomain exists, but we couldn't connect to it using HTTPS.
故障原因是 www 子域名未使用 HTTPS。在 aaPanel 面板/宝塔面板左侧的菜单栏,网站 ->网站列表 -> 需要开启 HSTS网站 -> 配置文件(Conf),找到域名域名,确保主域名 meledee.com 存在之外,还需添加 www.meledee.com。
切换 SSL 选项卡,删除原有 SSL 证书,重新申请,确保证书域名包含 meledee.com,www.meledee.com。




文章评论