Nginx安全策略 “frame-ancestors ‘self‘“

1、问题点:

其他平台项目使用免登录方式嵌入我们平台,被拒绝。

Refused to frame 'http://192.168.0.24:8886/' because an ancestor violates the following Content Security Policy directive: "frame-ancestors 'self'".

2:前端嵌入iframe 时,有时汇报安全策略如下:

in a frame because an ancestor violates the following Content Security Policy directive: "frame-ancestors ‘self’。

这里主要是 frame-ancestors的参数需要调整。

# 不允许被嵌入,包括<frame>, <iframe>, <object>, <embed> 和 <applet>
Content-Security-Policy: frame-ancestors 'none'
# 只允许被同源的页面嵌入
Content-Security-Policy: frame-ancestors 'self'
# 只允许被白名单内的页面嵌入
Content-Security-Policy: frame-ancestors www.example.com

3:解决

这个问题明显是NGinx配置可以解决,加入白名单。问题在修改后一直不生效。这里要注意测试浏览器缓存和本地cookie。通过以下修改可以解决

在nginx的 nginx.conf 的http或者service  加入安安全策略

add_header X-Frame-Options           "ALLOW-FROM http://10.0.0.22:9999/";
add_header Content-Security-Policy "frame-ancestors http://10.0.0.22:9999/";

如果不想其他平台使用iframe嵌入我们自己的平台,则配置如下

add_header Content-Security-Policy "default-src * data: 'unsafe-inline'  blob: 'unsafe-eval';frame-src 'self'; frame-ancestors 'self'  http://*";

 3:重新加载Nginx的配置文件

nginx -s reload

  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西西o

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值