Safari无法理解我的Content-Security-Policy标头

时间:2017-11-19 14:55:11

标签: nginx websocket safari http-headers content-security-policy

当我说:

时,其他所有浏览器都能理解
add_header Content-Security-Policy default-src 'self'; script-src 'self' unsafe-inline; connect-src wss://mysite.com;

在我的标题中。但Safari说:

  

拒绝连接到wws:// mysite,因为它没有出现在   内容安全策略中的connect-src指令。 [错误]   SecurityError(DOM Exception 18):操作不安全。   (匿名函数)(myjavascripturl.js)

为什么Safari不了解我的Content-Security-Policy标头?

1 个答案:

答案 0 :(得分:1)

在您提供的政策中,不安全内联周围没有单引号是必需的。改变这个:

add_header Content-Security-Policy default-src 'self'; script-src 'self' unsafe-inline; connect-src wss://mysite.com;

对此:

add_header Content-Security-Policy default-src 'self'; script-src 'self' 'unsafe-inline'; connect-src wss://mysite.com;
-------------------------------------------------------------------------^-------------^

这可能会影响政策的解析。


另一个问题是您提供的错误消息。

Refused to connect to wws://mysite
-----------------------^

你的代码中是否有拼写错误,这应该是什么?