Назад | Перейти на главную страницу

Зимбра и обрамление с перекрестным происхождением

Допустим, у меня есть веб-почта 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)? Или можно как-то встроить веб-почту?

Вам необходимо отредактировать:

/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.