最近项目上要加一个视频播放功能, 添加完之后点击报错如下

Refused to display 'https://api.baidu.com/' in a frame because it set 'X-Frame-Options' to 'sameorigin'.

查找了一番, 解决方法如下

#Nginx 错误页面无法显示add_header设置的响应头,在nginx 1.7.5以后的版本,新增了always参数,在设置请求头后增加该参数即可
#DENY:浏览器拒绝当前页面加载任何Frame页面
#SAMEORIGIN:frame页面的地址只能为同源域名下的页面
#ALLOW-FROM:允许frame加载的页面地址
add_header X-Frame-Options SAMEORIGIN always;
add_header X-Content-Type-Options nosniff always;
#frame-ancestors:允许frame加载的页面地址
add_header Content-Security-Policy 'frame-ancestors https://api.baidu.com/' always;

主要起作用的最后一句, 添加上需要的域名,

重启nginx,又报错如下

Refused to frame 'https://www.baidu.com/' because an ancestor violates the following Content Security Policy directive: "frame-ancestors https://www.baidu.com/".

 

参考如下链接 https://stackoverflow.com/questions/42781949/refused-to-display-in-a-frame-because-an-ancestor-violates-the-following-content

 

 

 

于是修改如下 

add_header Content-Security-Policy 'frame-ancestors https://*.baidu.com/' always;

 

重启nginx , 完美解决