【问题标题】:Adding HTTP Strict Transport Security to .htaccess将 HTTP 严格传输安全性添加到 .htaccess
【发布时间】:2018-06-14 13:33:46
【问题描述】:

我想将 HTTP 严格传输安全指令添加到我的 .htaccess 文件中。我在这里的代码末尾添加了锁,但是当我测试测试 HSTS 预加载过程时,它显示设置未设置。我检查了我的 Apache 配置并看到启用了标头模块。

我错过了什么?

<Files .htaccess>
order allow,deny
deny from all
</Files>

<FilesMatch "\.(png|gif|js|css)$">
  ExpiresActive on
  ExpiresDefault "access plus 1 month"
</FilesMatch>

# disable directory autoindexing
Options -Indexes

ErrorDocument 400 http://%{HTTP_HOST}
ErrorDocument 401 http://%{HTTP_HOST}
ErrorDocument 402 http://%{HTTP_HOST}
ErrorDocument 403 http://%{HTTP_HOST}
ErrorDocument 405 http://%{HTTP_HOST}
ErrorDocument 404 /incl/pages/error404.php
ErrorDocument 500 http://%{HTTP_HOST}

RewriteEngine On

RewriteBase /
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

# BEGIN GZIP
<ifmodule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript
</ifmodule>
# END GZIP

# Use HTTP Strict Transport Security to force client to use secure connections only
<ifmodule mod_headers.c>
    Header set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" env=HTTPS
</ifmodule>

我测试了herehere

【问题讨论】:

    标签: apache .htaccess hsts


    【解决方案1】:

    对于重定向,您需要使用always 属性:

    Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" env=HTTPS
    

    来自mod_headers documentation

    您正在向本地生成的非成功(非 2xx)响应(例如重定向)添加标头,在这种情况下,最终响应中仅使用与 always 对应的表。

    【讨论】:

    • 不确定我做错了什么...仍然得到:错误:没有 HSTS 标头响应错误:响应中没有 HSTS 标头。
    • 尝试删除 ifmodule 位,看看是否有效和/或是否出错。
    【解决方案2】:

    对于 Apache 2.2,无论您是否指定 SSLOptions +StdEnvVarsHeader always set x x env=HTTPS 永远不会与重定向匹配。

    我的建议:将您的 VirtualHosts 分开,这样它们就不会混合纯文本/ssl 端口,然后在仅 ssl 的 VirtualHosts 上简单地指定 Header always set x x 而没有任何条件。

    在 httpd-2.2.15-60.el6.centos.6.x86_64 上检查

    【讨论】:

      猜你喜欢
      • 2015-10-30
      • 2012-05-24
      • 1970-01-01
      • 2014-11-12
      • 2015-09-14
      • 2021-09-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多