Исправьте проверку хоста WOPI в CODE, сопоставив источник хоста.

Когда CODE в Collabora Online сообщает об ошибке «Несанкционированный WOPI-хост», добавьте фактический хост файлового хранилища — обычно это ваш источник Nextcloud — в список разрешенных WOPI-хостов CODE. Хост должен совпадать с источником, который CODE получает в WOPI-запросе, а не с публичным URL-адресом сервера Collabora. В Docker это обычно настраивается с помощью aliasgroup1переменной среды.

На иллюстрации показано предупреждающее сообщение редактора документов: «Несанкционированный хост WOPI. Пожалуйста, попробуйте позже».
Это предупреждение указывает на сбой проверки авторизации хоста WOPI.

Какой код отклоняется?

WOPI расшифровывается как Web Application Open Platform Interface (интерфейс открытой платформы веб-приложений) — протокол, используемый офисным сервером для открытия и сохранения файлов через платформу хранения данных. Хостом WOPI является эта платформа хранения данных, например, Nextcloud. CODE проверяет хост, указанный в запросе WOPI, на соответствие хостам, которым он доверяет. Если в запросе указаны хосты, cloud.example.comно CODE настроен на доверие только к определенным хостам office.example.com, редактор может отклонить сессию до ее открытия.

В случае самостоятельного размещения имя хоста в запросе может быть внутренним именем Docker, например, nextcloudа не именем хоста, видимым из браузера. Обратный прокси, другой порт или отдельные публичные и внутренние URL-адреса также могут привести к изменению источника. Настройте то, что фактически используется в запросе, а не то, что кажется «основным» именем сервера.

Обнаружено, что хост CODE отклоняет запрос.

  1. Воспроизведите ошибку один раз, затем изучите лог контейнера CODE примерно в это время. В Docker Compose выполните команду docker compose logs --since=10m collabora, заменив collaboraна имя вашей службы.
  2. Найдите сообщение, подобное этому No acceptable WOPI hosts found matching the target host [cloud.example.com] in config. Запишите целевой хост, указанный в скобках. Не копируйте и не передавайте полный URL-адрес WOPI: он может содержать кратковременный токен доступа.
  3. Сравните это имя хоста и схему с URL-адресом, который ваша интеграция хранилища передает в CODE. В руководстве по устранению неполадок Nextcloud рекомендуется проверить, что настроенный URL-адрес совпадает с URL-адресом Nextcloud и что CODE может с ним связаться. Проверьте хост WOPISrc, если он доступен в журналах интеграции, сохраняя при этом в тайне любой токен строки запроса.
В окне терминала отображается наглядный пример сообщения в журнале: Не найдено подходящих хостов WOPI, соответствующих целевому хосту [cloud.example.com] в конфигурации.
Значение целевого хоста в скобках — это значение, которое нужно сравнить с настроенными в CODE хостами WOPI; это иллюстративный шаблон журнала.

Укажите правильный источник в коде.

Для официального образа Docker CODE укажите aliasgroup1точный доверенный источник WOPI. Для одной установки Nextcloud служба Compose может включать в себя:

services:
  collabora:
    image: collabora/code
    environment:
      aliasgroup1: "https://cloud.example.com:443"

Замените пример на реальный хост Nextcloud, а также схему и порт, используемые запросом WOPI. Сохраните существующий тег образа, настройки администратора, сеть и другие параметры службы в файле Compose. В примере используется источник HTTPS с портом 443; в другом развертывании может использоваться другой порт или внутренний источник.

Редактор YAML показывает, что для параметра aliasgroup1 задано значение, соответствующее примеру источника Nextcloud: https://cloud.example.com:443.
Для одного источника Nextcloud псевдоним Docker aliasgroup1 в CODE должен соответствовать хосту, использованному в запросе WOPI.

После редактирования файла Compose создайте контейнер CODE заново, чтобы он получил обновленные настройки среды:

docker compose up -d --force-recreate collabora

Используйте фактическое имя вашей службы Compose вместо collabora. Простой перезапуск может не загрузить измененные значения среды контейнера; повторное создание службы применит обновленную конфигурацию. Если вы настраиваете CODE через его XML-файл, проверьте storage.wopiгруппы псевдонимов в действующей конфигурации. В официальном руководстве по SDK Collabora описаны группы псевдонимов Docker и псевдонимы хостов WOPI; следуйте синтаксису для той версии CODE, которую вы используете.

Держите два списка разрешенных пользователей раздельно.

Collabora и Nextcloud могут устанавливать ограничения, связанные с WOPI, но они отвечают на разные вопросы:

НастройкиЧто он проверяетТипичная поправка
CODE WOPI host allow-list ( aliasgroup1)Какое имя хоста хранилища принимает CODE в запросе WOPI?Разрешить отправку фактического источника Nextcloud в CODE
Nextcloud «Список разрешенных запросов для WOPI»Какие IP-адреса источников могут отправлять WOPI-запросы в Nextcloud?Разрешите использование адреса, который видит Nextcloud, для контейнера CODE или прокси-сервера.
Иллюстративная страница настроек администрирования Nextcloud, показывающая раздел Office и поле «Разрешить список для запросов WOPI».
Этот отдельный параметр Nextcloud ограничивает адреса-источники, которым разрешено отправлять запросы WOPI; это не список доверенных имен хостов WOPI от CODE.

Изменение списка разрешенных IP-адресов источника в Nextcloud не исправит проблему отклонения имени хоста сервером CODE. И наоборот, добавление имени хоста в CODE не разрешает использование исходного IP-адреса CODE в Nextcloud. В документации Nextcloud рекомендуется ограничивать запросы WOPI IP-адресами сервера Collabora; используйте адрес, наблюдаемый Nextcloud, который может отличаться при использовании контейнеров или обратного прокси-сервера.

Быстрые проверки перед закрытием инцидента

  • В целевом файле указано cloud.example.com: разрешить использование этого хоста Nextcloud и соответствующего источника в коде.
  • В описании задачи указано nextcloud: CODE, вероятно, получает имя хоста из сети Docker; определите, является ли это внутренним источником, затем настройте соответствующий доверенный хост и убедитесь в доступности DNS/сети.
  • Целевое значение совпадает, но ошибка остается: необходимо подтвердить, что отредактированная переменная принадлежит запущенной службе CODE, что Compose пересоздал контейнер и что никакие последующие настройки среды или XML-конфигурации не переопределяют эту настройку.
  • В журнале появляется сообщение об ошибке DNS, TLS, таймауте или CheckFileInfo: проверка авторизации хоста, возможно, теперь проходит успешно. Вместо расширения списка хостов WOPI следует изучить разрешение имен, доверие к сертификатам, маршрутизацию или ответ функции file-info от интеграции хранилища.
  • Nextcloud сообщает о несанкционированном адресе запроса: проверьте список разрешенных исходных IP-адресов Nextcloud и IP-адрес клиента, который он фактически видит.

Не следует разрешать несоответствия, доверяя каждому хосту или используя неограниченный подстановочный знак в производственной среде. Ограничивайте список разрешенных хостов известными источниками хранения. Если предполагается использование нескольких хостов хранения, настройте описанные группы псевдонимов для установленной версии CODE, а не пытайтесь угадать поведение подстановочного знака.

Проверьте исправление

Откройте документ через ту же интеграцию Nextcloud, которая завершилась с ошибкой. Затем проверьте свежие журналы CODE: сообщение об ошибке «Нет подходящих хостов WOPI» должно исчезнуть. Убедитесь, что документ загружается и может быть сохранен; если появится новая ошибка, используйте ее сообщение для определения следующего уровня. Для проверки двух хостов и процесса устранения неполадок Nextcloud см. разделы « Устранение неполадок Nextcloud Office» и «Настройка Nextcloud Office» . Информацию о группах псевдонимов Docker в CODE см. в руководстве Collabora Online SDK 25.04 ; если конфигурация отличается, используйте документацию, соответствующую вашей установленной версии.

Оставить комментарий

Сделайте пользовательские шрифты доступными в Docker-контейнере Collabora CODE.

Сделайте пользовательские шрифты доступными в Docker-контейнере Collabora CODE.

Смонтируйте файлы шрифтов в Docker и системную панель Collabora, чтобы пользовательские шрифты отображались в редакторе и корректно отображались в документах.

Восстановите настройки кода Collabora без потери изменений развертывания.

Восстановите настройки кода Collabora без потери изменений развертывания.

Создайте резервную копию файла coolwsd.xml и его исходных файлов развертывания, безопасно восстановите их и проверьте код, прежде чем пользователи вернутся к редактированию.

Исправьте проверку хоста WOPI в CODE, сопоставив источник хоста.

Исправьте проверку хоста WOPI в CODE, сопоставив источник хоста.

Разрешите использование именно Nextcloud или другого источника WOPI в коде, затем проверьте список разрешенных активных хостов и сопоставьте его с ограничением Nextcloud по IP-адресу источника.

Исправлена ​​ошибка Collabora «Ну, это неловко».

Исправлена ​​ошибка Collabora «Ну, это неловко».

Проанализируйте соединения Collabora с браузером, WOPI и WebSocket, чтобы выяснить, почему документ не открывается, а затем примените исправление, соответствующее вашей настройке Nextcloud.

Запуск Collabora Online на узлах Kubernetes

Запуск Collabora Online на узлах Kubernetes

Разверните реплики Collabora CODE с помощью Helm, разместите каждый документ в отдельном поде с помощью привязки WOPI и проверьте входящий трафик, размещение узлов и редактирование в Nextcloud.

Восстановите WebSocket-соединение Collabora через прокси-сервер.

Восстановите WebSocket-соединение Collabora через прокси-сервер.

Проследите за ошибкой установления соединения между браузером и coolwsd, затем сопоставьте маршрут обратного прокси с вашей версией Collabora, включая изменение Apache в коде 26.04.

Устранение ошибок подтверждения WOPI путем проверки ключей, обнаружения и URL-адресов.

Устранение ошибок подтверждения WOPI путем проверки ключей, обнаружения и URL-адресов.

Обнаруживайте причины сбоев подтверждения WOPI в Collabora, такие как несоответствие ключей, устаревшие данные обнаружения, смещение времени или изменения URL-адресов прокси-сервера, — без ослабления проверки.

Исправлена ​​ошибка отображения выпадающего списка размеров шрифта в Collabora Online.

Исправлена ​​ошибка отображения выпадающего списка размеров шрифта в Collabora Online.

Сбросьте масштаб браузера, протестируйте чистую сессию и определите, когда меню с некорректным размером требует обновления сервера Collabora.

Подключите Nextcloud к самостоятельно размещенному контейнеру Collabora CODE.

Подключите Nextcloud к самостоятельно размещенному контейнеру Collabora CODE.

Разверните Collabora CODE с помощью Docker, безопасно подключите его к Nextcloud Office и проверьте корректность редактирования документов с помощью практических проверок WOPI и прокси-сервера.

Отслеживание сбоев подключения к Collabora с помощью журналов coolwsd

Отслеживание сбоев подключения к Collabora с помощью журналов coolwsd

Временно переведите coolwsd в режим отладки, зафиксируйте одну неудачную попытку открытия и используйте последовательность логов для разделения проблем, связанных с WebSocket, WOPI, прокси и контейнерами.