Главная
» Как сделать
»
Исправьте проверку хоста WOPI в CODE, сопоставив источник хоста.
Исправьте проверку хоста WOPI в CODE, сопоставив источник хоста.
Когда CODE в Collabora Online сообщает об ошибке «Несанкционированный WOPI-хост», добавьте фактический хост файлового хранилища — обычно это ваш источник Nextcloud — в список разрешенных WOPI-хостов CODE. Хост должен совпадать с источником, который CODE получает в WOPI-запросе, а не с публичным URL-адресом сервера Collabora. В Docker это обычно настраивается с помощью aliasgroup1переменной среды.
Это предупреждение указывает на сбой проверки авторизации хоста WOPI.
Какой код отклоняется?
WOPI расшифровывается как Web Application Open Platform Interface (интерфейс открытой платформы веб-приложений) — протокол, используемый офисным сервером для открытия и сохранения файлов через платформу хранения данных. Хостом WOPI является эта платформа хранения данных, например, Nextcloud. CODE проверяет хост, указанный в запросе WOPI, на соответствие хостам, которым он доверяет. Если в запросе указаны хосты, cloud.example.comно CODE настроен на доверие только к определенным хостам office.example.com, редактор может отклонить сессию до ее открытия.
В случае самостоятельного размещения имя хоста в запросе может быть внутренним именем Docker, например, nextcloudа не именем хоста, видимым из браузера. Обратный прокси, другой порт или отдельные публичные и внутренние URL-адреса также могут привести к изменению источника. Настройте то, что фактически используется в запросе, а не то, что кажется «основным» именем сервера.
Обнаружено, что хост CODE отклоняет запрос.
Воспроизведите ошибку один раз, затем изучите лог контейнера CODE примерно в это время. В Docker Compose выполните команду docker compose logs --since=10m collabora, заменив collaboraна имя вашей службы.
Найдите сообщение, подобное этому No acceptable WOPI hosts found matching the target host [cloud.example.com] in config. Запишите целевой хост, указанный в скобках. Не копируйте и не передавайте полный URL-адрес WOPI: он может содержать кратковременный токен доступа.
Сравните это имя хоста и схему с URL-адресом, который ваша интеграция хранилища передает в CODE. В руководстве по устранению неполадок Nextcloud рекомендуется проверить, что настроенный URL-адрес совпадает с URL-адресом Nextcloud и что CODE может с ним связаться. Проверьте хост WOPISrc, если он доступен в журналах интеграции, сохраняя при этом в тайне любой токен строки запроса.
Значение целевого хоста в скобках — это значение, которое нужно сравнить с настроенными в CODE хостами WOPI; это иллюстративный шаблон журнала.
Укажите правильный источник в коде.
Для официального образа Docker CODE укажите aliasgroup1точный доверенный источник WOPI. Для одной установки Nextcloud служба Compose может включать в себя:
Замените пример на реальный хост Nextcloud, а также схему и порт, используемые запросом WOPI. Сохраните существующий тег образа, настройки администратора, сеть и другие параметры службы в файле Compose. В примере используется источник HTTPS с портом 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 ограничивает адреса-источники, которым разрешено отправлять запросы 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 ; если конфигурация отличается, используйте документацию, соответствующую вашей установленной версии.