相关疑难解决方法(0)

如何仅在HTTPS上从.htaccess设置HSTS标头

我的Web应用程序在我控制的不同数量的主机上运行.为了防止需要更改每个vhost的Apache配置,我在我的repo中使用.htaccess文件添加了大部分配置,因此每个主机的基本设置只是几行.这也可以在部署新版本时更改配置.目前.htaccess(un)设置头文件,做一些重写魔术并控制UA的缓存.

我想使用.htaccess在应用程序中启用HSTS.只需设置标题很简单:

Header always set Strict-Transport-Security "max-age=31536000"
Run Code Online (Sandbox Code Playgroud)

但规范明确指出:"HSTS主机不得在通过非安全传输传输的HTTP响应中包含STS头字段." 因此,我不希望在通过HTTP连接发送标头时发送标头.见http://tools.ietf.org/html/draft-ietf-websec-strict-transport-sec-14.

我试图使用环境变量设置标题,但我被困在那里.有谁知道怎么做?

apache .htaccess mod-headers

70
推荐指数
3
解决办法
6万
查看次数

如何使用 HTTP 禁用 HSTS 标头?

我已在我的网站的 .htaccess 中插入以下内容,以便进入HSTS 预加载列表

<ifModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"   
</ifModule>
Run Code Online (Sandbox Code Playgroud)

问题是当我提交我的网站时,我获得:

警告:HTTP 上不必要的 HSTS 标头。http://fabriziorocca.it 上的 HTTP 页面发送一个 HSTS 标头。这对 HTTP 没有影响,应该删除。

目前我在 .htaccess 中使用以下内容以便从 http 切换到 https:

RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Run Code Online (Sandbox Code Playgroud)

我该如何解决问题?

先感谢您。

.htaccess https http preload hsts

5
推荐指数
1
解决办法
3360
查看次数

标签 统计

.htaccess ×2

apache ×1

hsts ×1

http ×1

https ×1

mod-headers ×1

preload ×1