Почему мой apache отказывается от заголовков "Content-Security-Policy"?

В настоящее время я нахожусь в процессе реализации Content-Security-Policies. Но мой апач отказался принять настройки конфига.

Версии apache2, которые я сейчас использую: 2.2.22 и 2.4.7. Кажется, что ни одна из этих версий apache2 не работает.

Мои настройки конфигурации:

Header always set Content-Security-Policy: frame-src 'self' *.google.de google.de *.google.com google.com;
Header always set Content-Security-Policy-Report-Only: default-src 'none'; script-src 'self'; connect-src 'self'; img-src 'self'; style-src 'self'; report-uri https://www.myhostname.com/report/report.php;
Header always set X-Content-Security-Policy: frame-src 'self' google.de google.com;

Я получаю следующее сообщение об ошибке на любом из этих параметров. Если я закомментирую одну строку, ошибка просто изменится на следующую:

Output of config test was:
AH00526: Syntax error on line 7 of /etc/apache2/conf-enabled/security.conf:
Header has too many arguments
Action 'configtest' failed.

Я перепробовал все возможные комбинации настроек, в результате появлялись одинаковые сообщения об ошибках. Итак, я пришел к выводу, что мои апачи не поддерживают эти заголовки? Но я не нашел ничего в Интернете по этому вопросу.

Или я просто что-то упустил? Я также скопировал различные примеры с других страниц, и они дали те же ошибки.

Заголовки в целом работают нормально. У меня есть пара других заголовков, которые отлично работают:

Header always set X-Content-Type-Options nosniff
Header always set X-XSS-Protection "1; mode=block"
Header always set X-Permitted-Cross-Domain-Policies "master-only"
Header always set Cache-Control "no-cache, no-store, must-revalidate"
Header always set Pragma "no-cache"
Header always set Expires "-1"

Спасибо вам!

1 ответ

Решение

Если значение заголовка содержит пробелы, вы должны заключить его в двойные кавычки. Ваши примеры уже делают это, а намеченные вами новые заголовки - нет.

Например, вы пытались:

Header always set Content-Security-Policy: frame-src 'self' *.google.de google.de *.google.com google.com;

Так должно быть:

Header always set Content-Security-Policy: "frame-src 'self' *.google.de google.de *.google.com google.com;"
Другие вопросы по тегам