相关疑难解决方法(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标头

我想使用https://和非www.URL始终.所以我在htaccess文件中使用了以下代码.但我收到https://hstspreload.org的警告

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]    

<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://mysiteurl.com上的HTTP页面发送HSTS标头.这对HTTP没有影响,应该删除.

请帮我摆脱上述警告.我尝试使用以下代码,但它不起作用#ref.话题

 Header always set Strict-Transport-Security "max-age=31536000; 
 includeSubDomains; preload" env=HTTPS
Run Code Online (Sandbox Code Playgroud)

.htaccess google-webmaster-tools hsts google-search-console

7
推荐指数
1
解决办法
2724
查看次数