У меня есть несколько виртуальных хостов на основе 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 выполняет простой mod_rewrite для запросов без SSL и без www, перенаправляя все запросы на второй VirtualHost. Легко.
Вопрос 1
Должен ли я установить мой материал mod_headers в первом контейнере VirtualHost (: 80), втором (: 443) или в обоих?
вопрос 2
Должен ли мой материал mod_headers быть до или после материала mod_rewrite?
Вопрос 3
Стоит ли применять Strict-Transport-Security
заголовки для всех файлов или только для файлов .htm, .html и .php? (У меня есть директива FilesMatch, настроенная в качестве квалификатора для определенных заголовков)
Мои лучшие догадки
Перед любым тестированием я могу предположить следующие ответы:
Q1. Добавить материал mod_headers в обе Контейнеры VirtualHost.
Q2. mod_headers должен прийти перед mod_rewrite материал.
Q3. Да, нужны только те типы веб-файлов, которые вы обслуживаете Strict-Transport-Security
. Не нужно добавлять его в .gifs, .pngs, .svgs, .css, .js и т. Д.
EDIT: я вижу, что stackexchange также добавляет их в свой файл robots.txt.
Спасибо.
Я собираюсь отправить ответ временно, и если кто-то придет и поправит меня, я помечу ваш ответ как правильный.
Q1. Определенно установлен Strict-Transport-Security
заголовки в обоих: 80 и: 443 VirtualHosts.
Q2. Обязательно добавляйте заголовки перед любыми правилами перенаправления mod_rewrite.
Q3. Я немного менее уверен в этом ответе.
Некоторые сайты используют как SSL-ресурсы, так и ресурсы без SSL (css, js, изображения), но мои сайты обслуживают контент только через SSL.
Итак, ответ: это зависит от ваших настроек и ваших желаний. Нет ничего плохого в том, чтобы добавить заголовок в CSS, js, изображения и т. Д. И, наоборот, нет ничего плохого в том, чтобы не добавить его в эти типы файлов.