Strict-Transport-Security 标头,有关添加到我的 Apache 2.4 设置的具体问题

Strict-Transport-Security 标头,有关添加到我的 Apache 2.4 设置的具体问题

我有几个基于 IP 的虚拟主机,我想Strict-Transport-Security在这些主机上添加标头。我使用的是自定义编译的 Apache 2.4。

目前我<VirtualHost>每个域有两个容器,如下所示:

<VirtualHost ${IP3}:80>
    ...
    <IfModule rewrite_module>
        RewriteEngine On
        RewriteCond %{HTTPS} off [OR]
        RewriteCond %{HTTP_HOST} !^www\. [NC]
        RewriteRule .* https://www.${SITE}%{REQUEST_URI} [NE,R=301,L]
    </IfModule>
    ...
</VirtualHost>

<VirtualHost ${IP3}:443>
    ...
</VirtualHost>

第一个 VirtualHost 对非 SSL 和非 www 请求执行了一个简单的 mod_rewrite,将所有请求重定向到第二个 VirtualHost。很简单。

问题 1

我应该在第一个 VirtualHost 容器 (:80)、第二个 (:443),还是两个容器中都设置 mod_headers 内容?

问题2

我的 mod_headers 内容应该放在 mod_rewrite 内容之前还是之后?

问题 3

我应该将Strict-Transport-Security标题应用于所有文件,还是仅应用于 .htm、.html 和 .php 文件?(我已将 FilesMatch 指令设置为某些标题的限定符)

我的最佳猜测答案

在进行任何测试之前,我最好的猜测答案是:

Q1. 将 mod_headers 内容添加到两个都VirtualHost 容器。

Q2. mod_headers 应该出现mod_rewrite 的东西。

Q3. 是的,只有您提供的 Web 文件类型才需要Strict-Transport-Security。无需将其添加到 .gifs、.pngs、.svgs、.css、.js 等。

编辑:我看到 stackexchange 也将它们添加到他们的 robots.txt 文件中。

谢谢。

答案1

我将暂时发布一个答案,如果有人来纠正我,我会将您的答案标记为正确。

问 1.Strict-Transport-Security一定要在 :80 和 :443 VirtualHosts 中设置标头。

问2.一定要在任何 mod_rewrite 重定向规则之前添加标题。

问3.我对这个答案不太确定。

有些网站同时使用 SSL 和非 SSL 资产(css、js、图像),但我的网站仅通过 SSL 提供内容。

所以答案是:这取决于您的设置和您想要什么。将标头添加到 css、js、图像等中没有坏处。相反,不将其添加到这些文件类型中也没有坏处。

相关内容