Apache - 权限策略标头错误:由于结构化标头解析器报告的错误,权限策略解析失败

Fra*_*nkT 5 apache permissions policy header

我最近尝试更新我托管的非营利网站的服务器上的设置,但遇到了与权限策略有关的配置问题。我还没有找到许多用于此设置的正确用例和语法的示例,因此在 cimarronoutdoors.org 的 Chrome 控制台中遇到了错误。这是我正在尝试的权限策略。

Header always set Permissions-Policy "geolocation=();midi=();microphone=();camera=();fullscreen=(self);payment=()"

在控制台中它返回以下内容。

Permissions-Policy 标头错误:由于结构化标头解析器报告的错误,权限策略解析失败。

我尝试只列出下面链接中的项目并将其限制为几个,看看这是否可能是问题所在,但我无法让错误消失。

https://github.com/w3c/webappsec-permissions-policy/blob/main/features.md

关于这个问题的任何建议将不胜感激。

  • 服务器操作系统:Ubuntu 16.04.7 LTS
  • 站点conf文件中设置的权限策略。

Pen*_*ene 7

我发现该方案从microphone 'none'; geolocation *; payment https://*.paypal.com;改为microphone=(),geolocation=*,payment=("https://*.paypal.com").

目前,下面的代码是有效的,因此它不会产生“我们没有检测到可行的策略”。在securityheaders.com上,“权限策略标头错误:由于结构化标头解析器报告的错误,权限策略解析失败”。在 Google Chrome 控制台中。

请记住在配置中正确转义双引号,使用逗号而不是分号(如下所述)并使用“新格式”。

nginx.conf 示例:

add_header Permissions-Policy "accelerometer=(),autoplay=(),camera=(),encrypted-media=(),fullscreen=*,geolocation=*,gyroscope=(),interest-cohort=(),magnetometer=(),microphone=(),midi=(),payment=(\"https://*.paypal.com\" \"https://*.barion.com\"),sync-xhr=*,usb=(),xr-spatial-tracking=()" always;
Run Code Online (Sandbox Code Playgroud)

apache.conf 示例:

Header always set Permissions-Policy "accelerometer=(),autoplay=(),camera=(),encrypted-media=(),fullscreen=*,geolocation=*,gyroscope=(),interest-cohort=(),magnetometer=(),microphone=(),midi=(),payment=(\"https://*.paypal.com\" \"https://*.barion.com\"),sync-xhr=*,usb=(),xr-spatial-tracking=()"
Run Code Online (Sandbox Code Playgroud)


小智 4

使用逗号而不是分号作为分隔符。

请参阅此处的示例:

https://www.w3.org/TR/permissions-policy-1/#policy-directive