我的 Web 应用程序在我控制的不同数量的主机上运行。为了防止需要更改每个虚拟主机的 Apache 配置,我在我的存储库中使用 .htaccess 文件添加了大部分配置,因此每个主机的基本设置只有几行。这也使得在部署新版本时更改配置成为可能。目前 .htaccess (un) 设置标头,执行一些重写魔术并控制 UA 的缓存。
我想使用 .htaccess 在应用程序中启用 HSTS。只需设置标题很容易:
Header always set Strict-Transport-Security "max-age=31536000"
但规范明确指出:“HSTS 主机不得在通过非安全传输传输的 HTTP 响应中包含 STS 标头字段。”。因此,我不想在通过 HTTP 连接发送标头时发送标头。看https://datatracker.ietf.org/doc/html/draft-ietf-websec-strict-transport-sec-14。
我尝试使用环境变量设置标题,但我被困在那里。有谁知道该怎么做?