Salesforce Post Chat功能出现refused to connect连接拒绝错误问询
问题触发原因
该问题由Content Security Policy(CSP)的frame-ancestors规则拦截导致:
控制台输出的
Refused to frame 'https://mydomain.force.com/' because an ancestor violates the following Content Security Policy directive: "frame-ancestors 'self'"是核心判定依据。
frame-ancestors是CSP中用于限制哪些父页面可以嵌入当前资源为iframe的安全规则,当前mydomain.force.com的CSP配置中frame-ancestors值为'self',仅允许和mydomain.force.com完全同源的页面嵌入该Post Chat调研iframe。而你的聊天窗口部署在社区/站点的独立域名下,和mydomain.force.com不属于同源,因此触发浏览器的安全拦截,导致调研iframe加载失败,弹出拒绝连接提示。
排查修复步骤
- 第一步:核对双端域名
先明确两个核心域名的完整地址:聊天窗口所在的社区/站点完整域名、Post Chat调研页面对应的force.com完整域名,确认二者确实不属于同源。 - 第二步:调整CSP配置
进入Salesforce后台设置,找到部署聊天窗口的对应站点/社区的安全配置项,定位到Content Security Policy设置,在frame-ancestors的允许域名列表中,添加聊天窗口所在的完整域名(需精确匹配协议、子域名、端口,例如https://community.yourdomain.com,不能仅填写根域名)。 - 第三步:验证修复效果
保存配置后等待2分钟左右让缓存生效,清空浏览器缓存重新测试:发起会话结束后点击提交反馈,确认不再弹出拒绝连接提示,同时打开浏览器控制台确认无相关CSP报错即可。
注意:如果在沙箱环境测试,需要单独配置沙箱对应站点的CSP规则,不要仅修改生产环境配置
内容的提问来源于stack exchange,提问作者SFDCDev
相关产品推荐
相关产品推荐

