Назад | Перейти на главную страницу

Настройте Apache для отправки заголовка HSTS только на виртуальных хостах с использованием HTTPS

У нас есть сервер Apache 2.4, на котором работает множество виртуальных хостов, некоторые из которых используют http, а некоторые - https. Я хотел бы отправить такой же HSTS (Strict-Transport-Security) только на тех виртуальных хостах, которые используют https.

Я понимаю, что могу добавить Header индивидуально для каждого виртуального хоста, но я бы предпочел установить ее один раз в разделе глобальной конфигурации Apache. Можно ли в глобальном конфиге выставить так, чтобы только его отправляют виртуальные хосты https?

Вы можете попробовать использовать выражение if.

http://httpd.apache.org/docs/2.4/mod/core.html#if

http://httpd.apache.org/docs/2.4/expr.html

Например, непроверенный

# Check a HTTP header for a list of values <If "%{HTTPS} == 'on' && %{HTTP_HOST} == 'ssl.example.com'"> Header set HSTS ... </If>