如何添加 Apache Feature Policy Header?

如何添加 Apache Feature Policy Header?

我有一个多媒体网站,用户可以上传自己的媒体(视频、音乐)或嵌入来自 YouTube、Vimeo 等网站的媒体。

最近,有新的标题发布。我尝试添加此标题,但我认为我在某个地方犯了一个错误。

这就是我尝试添加此标题的方法;

Header always set Feature-Policy "vibrate 'self'; usermedia '*'; microphone 'none'; payment 'none'; sync-xhr 'self' mysiteURL.com"

出现以下错误;

Error with Feature-Policy header: Unrecognized feature: 'vibrate'.
(index):1 Error with Feature-Policy header: Unrecognized feature: 'usermedia'.
(index):1 Error with Feature-Policy header: Unrecognized origin: 'mysiteURL.com'.
(index):1 Error with Feature-Policy header: Unrecognized feature: 'vibrate'.
(index):1 Error with Feature-Policy header: Unrecognized feature: 'usermedia'.
(index):1 Error with Feature-Policy header: Unrecognized origin: 'mysiteURL.com'.

任何帮助将不胜感激!

答案1

这些是 Web 浏览器错误,而不是 Apache 错误。因此浏览器不支持打开或关闭这些功能。它们非常新,因此支持该标题目前来说不是很好。

Chrome 功能目前支持的代码如下并且可以看出vibrateusermedia还未被Chrome支持。

您似乎还存在一些语法错误,具体来说:

usermedia '*'

星号两边不应有引号(虽然这很难说,因为它尚不支持,而且至少有一份 Google 文档也错误地陈述了这一点)。

sync-xhr 'self' mysiteURL.com

URL 应该以方案 ( https://) 作为前缀。

因此,现在,您可以将标题更改为此以避免这些错误,(尽管您可能希望在以后得到支持时添加vibrate并重新添加):usermedia

Header always set Feature-Policy "microphone 'none'; payment 'none'; sync-xhr 'self' https://mysiteURL.com"

答案2

2020 年更新

Feature Policy更改为Permissions Policy,用法略有不同。我认为这可能有帮助,因为这篇文章已被多次查看。

Header always set Permissions-Policy "vibrate=(self), usermedia=(*), microphone=(none), payment=(none), sync-xhr=(self 'mysiteURL.com')"

在此处输入图片描述

更多细节:你好权限政策

相关内容