允许CORS中的所有标题

我想configuration我的Apache 2.4以CORS友好的方式提供一些静态资源。 我已经有了以下设置:

Header always set Access-Control-Allow-Origin "*" 

但是,对于最近的Safari来说,这似乎还不够:

[错误]无法加载资源:请求标头字段…不被Access-Control-Allow-Headers

以这种方式提到的字段包括Accept-EncodingDNT ,但是我猜想在添加它们之后,我可能也会看到Cache-ControlOriginAccept-Language ,因为这些是在发送的Access-Control-Request-Headers报头中提到的由Safari。 但是谁来告诉我Safari或其他浏览器可能会为其他头文件请求现在还是将来,对于我自己或者其他具有不同configuration的用户? 显然*不是一个有效的Access-Control-Allow-Headers头的设置,原因我不太明白。

那么,如何configuration一个服务器,只是说“在任何地方使用这个资源,我不关心他们的CORS”?

*现在是Access-Control-Allow-Headers一个有效值 ,至less对于非证书请求是有效的; 但是由于这是对规范的一个相当新的补充 ,它可能还没有到达浏览器。

我发现的一个解决scheme是,不是明确添加标题,而是将所有请求的标题回显给浏览器。 这种方法是在堆栈溢出这里build议的,但是这个post并没有提供一个静态configuration来做到这一点。

在阅读了关于Header和expression式的文档之后,我使用下面这行代码实现了这个function:

 Header always set Access-Control-Allow-Headers "expr=%{req:Access-Control-Request-Headers}" 

我不确定这可能会带来什么样的安全隐患,所以请照常使用,风险自负。