Zimbra 和跨域框架

Zimbra 和跨域框架

假设我有一个可在 访问的 Zimbra 网络邮件https://mail.example.com。我还有一个网络应用程序https://app.example.com。我试图在其中一个应用程序页面上嵌入网络邮件:

<iframe src="https://mail.example.com"></iframe>

但是,当我转到应用程序页面时出现以下错误(Firefox)Load denied by X-Frame-Options: https://mail.example.com/ does not permit cross-origin framing:。

如何在 Zimbra 服务器/nginx 上启用跨源框架(最好仅适用于 app.example.com)?或者是否可以以其他方式嵌入 Web 邮件?

答案1

您需要编辑:

/opt/zimbra/jetty/etc/zimbra.web.xml.in

修改设置标头过滤器。查找:

<filter-name>Set Header Filter</filter-name>
<filter-class>com.zimbra.webClient.filters.SetHeaderFilter</filter-class>

部分并添加以下参数:

<init-param>
  <param-name>allowInFrame</param-name>
  <param-value>true</param-value>
</init-param>

之后使用以下命令重新启动 Zimbra:

zmcontrol restart

缺点是您需要在每次更新 Zimbra 软件时检查这些修改是否仍然存在。

相关内容