Apache-2.2

為什麼我的 apache 拒絕“Content-Security-Policy”標頭?

  • March 1, 2016

我目前正在實施內容安全策略。但是我的 apache 拒絕接受配置設置。

我目前使用的 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.

我已經嘗試了所有可能的設置組合,導致相同的錯誤消息。所以我開始相信,我的 apache 不支持這些標頭?但是我在網上沒有找到任何關於這個問題的資訊。

還是我只是錯過了一些重要的東西?我還從其他頁面複製了各種範例,它們產生了相同的錯誤。

一般來說,標題工作正常。我有幾個其他的標題集,它們工作得很好:

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"

謝謝!

如果標頭的值包含空格,則必須用雙引號將其括起來。您的範例已經這樣做了,但您想要的新標題沒有。

例如,您嘗試過:

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;"

引用自:https://serverfault.com/questions/706472