You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.htaccess配置HSTS提交预加载报错需提交根域名排查

问题原因
  • 提交入口填写错误:HSTS预加载列表仅接受注册根域名(即test.com)的提交,不支持单独提交www.test.com这类子域名,你当前提交时填的是www子域,所以直接返回参数错误。
  • 现有.htaccess配置存在逻辑缺陷,即使填对根域名也无法通过检测,核心问题有三个:
    1. HTTPS跳转规则逻辑顺序混乱,没有保证根域名HTTPS响应携带合规HSTS头
    2. HSTS头配置缺少always属性,301/302类跳转响应不会返回该头,同时env=HTTPS的判断条件在多数虚拟主机环境下兼容性差,容易漏带头
    3. 所有非www域名的请求直接跳转到www子域,但跳转响应未配置HSTS头,检测程序访问根域时拿不到合规头就会判定失败
调整步骤

1. 修正提交域名

后续提交预加载时,直接填写根域名test.com,不要填写www子域。

2. 替换.htaccess规则

将原有跳转、HSTS相关的配置全部替换为以下内容:

RewriteEngine On

# 所有HTTP请求第一跳直接转对应HTTPS地址,避免多跳
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

# 若需统一使用www作为主访问域,保留以下规则;若要直接使用根域,删除本段即可
RewriteCond %{HTTP_HOST} ^test\.com$ [NC]
RewriteRule ^(.*)$ https://www.test.com/$1 [R=301,L]

# 保留原有的目录斜杠规范化规则
RewriteCond %{REQUEST_URI} /(.+)/$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ https://www.test.com/%1 [R=301,L]

RewriteCond %{REQUEST_URI} !(.+)/$
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+)$ https://www.test.com/$1/ [R=301,L]

<IfModule mod_headers.c>
  # 给所有HTTPS响应(含跳转响应)添加合规HSTS头
  Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" "expr=%{HTTPS} == 'on'"
</IfModule>

如果选择直接使用根域作为主域,记得把目录斜杠规则里的www.test.com替换为test.com

3. 验证配置有效性

配置更新后,先清除浏览器缓存(301永久跳转缓存会影响测试结果,建议用无痕模式或curl命令检测),逐一验证以下地址的响应:

  • http://test.com:返回301跳转至https://test.com,响应头携带HSTS字段
  • https://test.com:若配置了www跳转则返回301至https://www.test.com,响应头携带HSTS字段;未配置跳转则直接返回200,携带HSTS字段
  • http://www.test.com:返回301跳转至https://www.test.com,响应头携带HSTS字段
  • https://www.test.com:返回200,响应头携带HSTS字段

4. 注意事项

  • 配置HSTS预加载前确认所有子域名(如api.test.com、blog.test.com等)均已正常支持HTTPS,includeSubDomains参数会强制所有子域名走HTTPS,未配置HTTPS的子域名会无法访问
  • 首次提交建议先把max-age设置为较小值(比如300)测试一周,确认所有服务正常后再改回31536000提交,避免配置错误导致全站无法访问
  • 验证所有响应头合规后,再到预加载页面提交根域名即可通过检测。

内容的提问来源于stack exchange,提问作者Emanuel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 19:06:43