You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

解决Google Sheets插件iframe嵌入网站的XFO限制问题

解决Google Sheets插件中iframe嵌入网站的X-Frame-Options错误

问题根源

你遇到的NS_ERROR_XFO_VIOLATION错误,是因为网站通过Nginx配置的X-Frame-Options和Content-Security-Policy (CSP) frame-ancestors规则,仅允许固定Google域名嵌入,但Google Sheets插件对话框的域名是动态生成的(统一后缀为googleusercontent.com),固定域名配置无法覆盖所有场景。

解决方案

修改Nginx配置,调整CSP规则适配动态域名,同时废弃兼容性较差的X-Frame-Options: ALLOW-FROM配置:

步骤1:更新HTTP头配置

在server块中替换原有相关配置:

# 移除或注释原有X-Frame-Options配置(ALLOW-FROM已被现代浏览器废弃)
# add_header X-Frame-Options "ALLOW-FROM https://n-5fydpzckmar5yncflnjytuyfcusdcfogmgc2eti-0lu-script.g>

# 修改CSP规则,允许所有Google Apps Script域名嵌入
add_header Content-Security-Policy "frame-ancestors https://*.googleusercontent.com;";

步骤2:确保配置作用域正确

若location /块内也存在add_header指令,需保证CSP头不会被覆盖。建议将Content-Security-Policy配置放在server块最外层,或在location块中继承该配置。

步骤3:重启Nginx生效

执行命令重启Nginx,使配置生效:

sudo systemctl restart nginx

安全说明

  • 禁止将frame-ancestors设为*,这会允许任意网站嵌入你的站点,存在安全风险。
  • *.googleusercontent.com是Google Apps Script对话框的统一域名后缀,限定该范围既能满足插件嵌入需求,又能保障站点安全。

验证

修改完成后重新打开插件对话框,iframe即可正常加载网站。若仍有问题,可检查浏览器控制台的CSP报错,排查是否存在其他规则冲突。

内容的提问来源于stack exchange,提问作者SoftTimur

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 20:35:07