Меню

Onlyoffice при попытке соединения возникла ошибка host violates local access rules

Hi I have an issue that is similar, which I started to report here:
ONLYOFFICE/DocumentServer#1659

WWW reverseproxy on CentOS 7 with apache https
OnylOffice on CentOS 8 with apache http
Nextcloud on CentOS 8 /data on NFS (TrueNAS) with nginx https

iLCJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOiJhbnQwbiIsImZpbGVJZCI6NTA4MzEsImZpbGVQYXRoIjoiXC9Eb2N1bWVudHNcLyFGSU5BTlpFTiAoY29weSkueGxzeCIsInNoYXJlVG9rZW4iOm51bGwsImFjdGlvbiI6InRyYWNrIn0.RQhJD1908mg4rAT89MmmOtM_vrvGJIEbBrd9PDKxFB8","message":"Track: 50831 status 2 error","userAgent":"Node.js/6.13","version":"23.0.0.10","exception":{"Exception":"OCP\Http\Client\LocalServerException","Message":"Host violates local access rules","Code":0,"Trace":[{"file":"/var/www/html/nextcloud/lib/private/Http/Client/DnsPinMiddleware.php","line":136,"function":"ThrowIfLocalIp","class":"OC\Http\Client\LocalAddressChecker","type":"->","args":["192.168.1.29"]},{"file":"/var/www/html/nextcloud/3rdparty/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php","line":35,"function":"OC\Http\Client\{closure}","class":"OC\Http\Client\DnsPinMiddleware","type":"->","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":31,"function":"__invoke","class":"GuzzleHttp\PrepareBodyMiddleware","type":"->","args":["*** sensitive parameter replaced ***","*** sensitive parameter replaced ***"]},{"file":"/var/www/html/nextcloud/3rdparty/guzzlehttp/guzzle/src/RedirectMiddleware.php","line":71,"function":"GuzzleHttp\{closure}","class":"GuzzleHttp\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/3rdparty/guzzlehttp/guzzle/src/Middleware.php","line":63,"function":"__invoke","class":"GuzzleHttp\RedirectMiddleware","type":"->","args":["*** sensitive parameter replaced ***","*** sensitive parameter replaced ***"]},{"file":"/var/www/html/nextcloud/3rdparty/guzzlehttp/guzzle/src/HandlerStack.php","line":75,"function":"GuzzleHttp\{closure}","class":"GuzzleHttp\Middleware","type":"::","args":["*** sensitive parameters replaced ***"]},{"file":"/var/www/html/nextcloud/3rdparty/guzzlehttp/guzzle/src/Client.php","line":331,"function":"__invoke","class":"GuzzleHttp\HandlerStack","type":"->","args":["*** sensitive parameter replaced ***","*** sensitive parameter replaced ***"]},{"file":"/var/www/html/nextcloud/3rdparty/guzzlehttp/guzzle/src/Client.php","line":168,"function":"transfer","class":"GuzzleHttp\Client","type":"->","args":["*** sensitive parameter replaced ***","*** sensitive parameter replaced ***"]},{"file":"/var/www/html/nextcloud/3rdparty/guzzlehttp/guzzle/src/Client.php","line":187,"function":"requestAsync","class":"GuzzleHttp\Client","type":"->","args":["get",{"__class__":"GuzzleHttp\Psr7\Uri"},{"verify":"/var/www/html/nextcloud/resources/config/ca-bundle.crt","timeout":60,"allow_redirects":{"on_redirect":{"__class__":"Closure"}},"nextcloud":{"allow_local_address":false},"synchronous":true,"0":"And 6 more entries, set log level to debug to see all entries"}]},{"file":"/var/www/html/nextcloud/lib/private/Http/Client/Client.php","line":223,"function":"request","class":"GuzzleHttp\Client","type":"->","args":["get","https://onlyoffice.DOMAINREPLACED.TLD/cache/files/465943287_3418/output.xlsx/output.xlsx?md5=YnCQbWPQyaJfTGxIz7IR7A&expires=1646289208&filename=output.xlsx",{"verify":"/var/www/html/nextcloud/resources/config/ca-bundle.crt","timeout":60,"allow_redirects":{"on_redirect":{"__class__":"Closure"}},"nextcloud":{"allow_local_address":false},"headers":{"User-Agent":"Nextcloud Server Crawler","Accept-Encoding":"gzip"},"0":"And 1 more entries, set log level to debug to see all entries"}]},{"file":"/var/www/html/nextcloud/apps/onlyoffice/lib/documentservice.php","line":364,"function":"get","class":"OC\Http\Client\Client","type":"->","args":["https://onlyoffice.DOMAINREPLACED.TLD/cache/files/465943287_3418/output.xlsx/output.xlsx?md5=YnCQbWPQyaJfTGxIz7IR7A&expires=1646289208&filename=output.xlsx",{"timeout":60}]},{"file":"/var/www/html/nextcloud/apps/onlyoffice/controller/callbackcontroller.php","line":513,"function":"Request","class":"OCA\Onlyoffice\DocumentService","type":"->","args":["https://onlyoffice.DOMAINREPLACED.TLD/cache/files/465943287_3418/output.xlsx/output.xlsx?md5=YnCQbWPQyaJfTGxIz7IR7A&expires=1646289208&filename=output.xlsx"]},{"file":"/var/www/html/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":217,"function":"track","class":"OCA\Onlyoffice\Controller\CallbackController","type":"->","args":["eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOiJhbnQwbiIsImZpbGVJZCI6NTA4MzEsImZpbGVQYXRoIjoiXC9Eb2N1bWVudHNcLyFGSU5BTlpFTiAoY29weSkueGxzeCIsInNoYXJlVG9rZW4iOm51bGwsImFjdGlvbiI6InRyYWNrIn0.RQhJD1908mg4rAT89MmmOtM_vrvGJIEbBrd9PDKxFB8",["oc8wm0d8cdqs_USERNAMEREPLACED"],"465943287",2,"https://onlyoffice.DOMAINREPLACED.TLD/cache/files/465943287_3418/output.xlsx/output.xlsx?md5=YnCQbWPQyaJfTGxIz7IR7A&expires=1646289208&filename=output.xlsx",null,[],null,null,[{"type":0,"userid":"oc8wm0d8cdqs_USERNAMEREPLACED"}]]},{"file":"/var/www/html/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":126,"function":"executeController","class":"OC\AppFramework\Http\Dispatcher","type":"->","args":[{"__class__":"OCA\Onlyoffice\Controller\CallbackController"},"track"]},{"file":"/var/www/html/nextcloud/lib/private/AppFramework/App.php","line":157,"function":"dispatch","class":"OC\AppFramework\Http\Dispatcher","type":"->","args":[{"__class__":"OCA\Onlyoffice\Controller\CallbackController"},"track"]},{"file":"/var/www/html/nextcloud/lib/private/Route/Router.php","line":302,"function":"main","class":"OC\AppFramework\App","type":"::","args":["OCA\Onlyoffice\Controller\CallbackController","track",{"__class__":"OC\AppFramework\DependencyInjection\DIContainer"},{"_route":"onlyoffice.callback.track"}]},{"file":"/var/www/html/nextcloud/lib/base.php","line":1006,"function":"match","class":"OC\Route\Router","type":"->","args":["/apps/onlyoffice/track"]},{"file":"/var/www/html/nextcloud/index.php","line":36,"function":"handleRequest","class":"OC","type":"::","args":[]}],"File":"/var/www/html/nextcloud/lib/private/Http/Client/LocalAddressChecker.php","Line":42,"CustomMessage":"Track: 50831 status 2 error"}}```

  • интеграция аккаунта Nextcloud

    • Интеграция других ресурсов с модулем Документы
    • Редактирование документов из хранилища сервиса Nextcloud в ONLYOFFICE
    • Configuring reverse proxy for Nextcloud and ONLYOFFICE editors
    • Открытие или создание новых файлов и папок
    • Открытие или создание новых файлов и папок

    • Открытие или создание новых файлов и папок
    • Открытие или создание новых файлов и папок
  • ONLYOFFICE Docs

    • Использование ONLYOFFICE Docs через прокси-сервер

    • Настройка JWT для ONLYOFFICE Docs
    • Подключение ONLYOFFICE Docs к ONLYOFFICE Groups

    • Компиляция ONLYOFFICE Docs для локального сервера

    • Развертывание ONLYOFFICE Docs на своем сервере

    • Установка версии ONLYOFFICE Docs Enterprise Edition для Windows на локальном сервере

    • Установка Windows-версии ONLYOFFICE Docs Developer Edition на локальном сервере

    • Языки, доступные для интерфейса ONLYOFFICE Docs

    • Uninstall default plugin from the server editors

    • Adding new plugins to server editors

    • Подключение ONLYOFFICE Docs к ONLYOFFICE Groups

    • Добавление новых шрифтов, языков и средств проверки орфографии в ONLYOFFICE Docs

    • Удаление неиспользуемых шрифтов из ONLYOFFICE Docs

    • Добавление новых тем в редактор презентаций ONLYOFFICE Docs

    • Устранение возможных неполадок ONLYOFFICE Docs для Windows

    • Переключение ONLYOFFICE Docs Enterprise Edition на протокол HTTPS

    • Updating ONLYOFFICE Docs Developer Edition for Windows to the latest version

    • Updating ONLYOFFICE Docs Enterprise Edition for Windows to the latest version

    • Updating ONLYOFFICE Docs Community Edition for Windows to the latest version

    • Подключение ONLYOFFICE Docs к ONLYOFFICE Groups

    • Установка ONLYOFFICE Docs на Debian, Ubuntu и производные

    • Установка версии ONLYOFFICE Docs Enterprise Edition на Debian, Ubuntu и производные

    • Установка ONLYOFFICE Docs Developer Edition на Debian, Ubuntu и производные

    • Установка ONLYOFFICE Docs на CentOS и производные

    • Установка версии ONLYOFFICE Docs Enterprise Edition на CentOS и производные

    • Установка ONLYOFFICE Docs Developer Edition на CentOS и производные

    • Установка версии ONLYOFFICE Docs для Linux из snap-пакета

    • Подключение ONLYOFFICE Docs к ONLYOFFICE Groups

    • Добавление шрифтов в ONLYOFFICE Docs

    • Переключение ONLYOFFICE Docs на протокол HTTPS

    • Добавление нового языка интерфейса в ONLYOFFICE Docs

    • Добавление новых тем в редактор презентаций ONLYOFFICE Docs

    • Устранение возможных неполадок ONLYOFFICE Docs для Linux

    • Deploying ONLYOFFICE Docs in Cloudron
    • Deploying ONLYOFFICE Docs Enterprise Edition in Cloudron
    • Установка ONLYOFFICE Docs на локальном сервере

    • Deploying ONLYOFFICE Docs in DigitalOcean

    • Deploying ONLYOFFICE Docs in Vultr

    • Установка версии ONLYOFFICE Docs Enterprise Edition для Docker

    • Развертывание ONLYOFFICE Docs Enterprise Edition из образа AMI

    • Running ONLYOFFICE Docs Community Edition as Podman on Fedora

    • Running ONLYOFFICE Docs Enterprise Edition as Podman on Fedora

    • Running ONLYOFFICE Docs Developer Edition as Podman on Fedora

    • Установка Docker-версии ONLYOFFICE Docs Developer Edition на локальном сервере

    • Installing ONLYOFFICE Docs Community Edition using the provided script

    • Installing ONLYOFFICE Docs Enterprise Edition using the provided script

    • Installing ONLYOFFICE Docs Developer Edition using the provided script

    • Запуск ONLYOFFICE Docs с помощью Docker Compose

    • Установка всех компонентов ONLYOFFICE Workspace, интегрированных между собой

    • Добавление нового языка интерфейса в ONLYOFFICE Docs

    • Удаление с компьютера ONLYOFFICE Docs для Docker

    • Устранение неполадок ONLYOFFICE Docs для Docker

    • Установка всех компонентов ONLYOFFICE Workspace, интегрированных между собой

    • Установка всех компонентов ONLYOFFICE Workspace, интегрированных между собой

    • Updating ONLYOFFICE Docs Developer Edition for Docker to the latest version

    • Updating ONLYOFFICE Docs Enterprise Edition for Docker to the latest version

    • Updating ONLYOFFICE Docs Community Edition for Docker to the latest version

    • Развертывание ONLYOFFICE Docs Developer Edition из образа AMI

    • Работа с плагинами при использовании CSP

    • Работа с плагинами при использовании CSP

    • Integrating ONLYOFFICE with Nextcloud

    • Integrating ONLYOFFICE with ownCloud

    • Integrating ONLYOFFICE with Confluence

    • Integrating ONLYOFFICE with Humhub

    • Integrating ONLYOFFICE with Alfresco

    • Integrating ONLYOFFICE with Liferay

    • Integrating ONLYOFFICE with SharePoint

    • Integrating ONLYOFFICE with Plone

    • Integrating ONLYOFFICE with Chamilo

    • Integrating ONLYOFFICE with Jira

    • Integrating ONLYOFFICE with Nuxeo

    • Integrating ONLYOFFICE with Redmine

    • How to integrate ONLYOFFICE with Nextcloud using the app from the official store
    • How to integrate ONLYOFFICE with Nextcloud
    • How to integrate ONLYOFFICE Docs with ownCloud
    • How to integrate ONLYOFFICE with Nuxeo
    • How to integrate ONLYOFFICE with Nuxeo with the official plugin
    • How to integrate ONLYOFFICE Docs with SharePoint
    • How to deploy ONLYOFFICE on DigitalOcean using One-Click App
    • How to integrate ONLYOFFICE with Alfresco Share
    • How to integrate ONLYOFFICE with Chamilo
    • Configuring ONLYOFFICE connector for Nextcloud
    • Configuring ONLYOFFICE connector for ownCloud
    • How to integrate ONLYOFFICE with Redmine
    • How to integrate ONLYOFFICE with Jira
    • ONLYOFFICE 7.0: fillable forms, password protection and version history in spreadsheets
  • серверная версия

    • Установка ONLYOFFICE Groups на локальном сервере

    • Установка серверной версии ONLYOFFICE Workspace Enterprise Edition для Windows на локальном сервере

    • Компиляция ONLYOFFICE Groups для локального сервера

    • Переход с облачной версии на серверную версию

    • Миграция ONLYOFFICE Groups с Windows на Linux

    • Обновление ONLYOFFICE Groups для Windows до последней версии

    • Миграция с ONLYOFFICE Workspace на Enterprise Edition в Windows

    • Обновление ONLYOFFICE Workspace Enterprise Edition до последней версии

    • Подключение ONLYOFFICE Docs к ONLYOFFICE Groups

    • Переключение ONLYOFFICE Talk на протокол TLS в Windows-версии

    • Интеграция сторонних сервисов в серверной версии

    • Добавление ONLYOFFICE Mail в инсталляцию ONLYOFFICE Workspace

    • Обновление ONLYOFFICE Workspace до последней версии

    • Использование функции резервного копирования и восстановления данных в Панели управления

    • Защита данных через шифрование

    • Подключение сторонних хранилищ

    • Быстрая навигация при помощи полнотекстового поиска

    • Брендинг онлайн-офиса

    • Переключение на протокол HTTPS с помощью Панели управления

    • Изменение настроек LDAP

    • Развертывание нескольких порталов с помощью функции мультитенантности

    • Using the Private Room to work on your documents securely

    • Private Rooms in ONLYOFFICE Workspace for Secure Collaboration on Documents

    • How to use Control Panel in ONLYOFFICE Workspace

    • How to use the backup/restore feature

    • Общие сведения о функции единого входа (SSO) ONLYOFFICE

    • Настройка ONLYOFFICE SP и Shibboleth IdP

    • Настройка ONLYOFFICE SP и OneLogin IdP

    • Настройка ONLYOFFICE SP и AD FS IdP

    • Отслеживание истории входов в систему

    • Получение данных журнала аудита

    • Как начать работу с ONLYOFFICE Workspace Enterprise Edition?

    • Как купить подписку на ONLYOFFICE Workspace Enterprise Edition?

    • Использование ONLYOFFICE Docs через прокси-сервер

    • Настройка JWT для ONLYOFFICE Docs
    • Языки, доступные для интерфейса ONLYOFFICE Docs

    • Языки, доступные для интерфейса ONLYOFFICE Groups

    • Добавление собственных модулей в ONLYOFFICE Groups

    • Создание API для пользовательских модулей ONLYOFFICE Groups

    • Создание WebDAV-сервера в Ubuntu и подключение его к ONLYOFFICE

    • Создание WebDAV-сервера в Windows и подключение его к ONLYOFFICE

    • Установка серверной версии ONLYOFFICE Workspace для Windows на локальном сервере

    • Устранение неполадок ONLYOFFICE Groups для Windows

    • FAQ по ONLYOFFICE Groups

    • Развертывание ONLYOFFICE Docs на своем сервере

    • Установка версии ONLYOFFICE Docs Enterprise Edition для Windows на локальном сервере

    • Установка Windows-версии ONLYOFFICE Docs Developer Edition на локальном сервере

    • Подключение ONLYOFFICE Docs к ONLYOFFICE Groups

    • Переключение на протокол HTTPS для Windows-версии

    • Добавление новых шрифтов, языков и средств проверки орфографии в ONLYOFFICE Docs

    • Удаление неиспользуемых шрифтов из ONLYOFFICE Docs

    • Добавление новых тем в редактор презентаций ONLYOFFICE Docs

    • Устранение возможных неполадок ONLYOFFICE Docs для Windows

    • Переключение ONLYOFFICE Docs Enterprise Edition на протокол HTTPS

    • Updating ONLYOFFICE Docs Developer Edition for Windows to the latest version

    • Updating ONLYOFFICE Docs Enterprise Edition for Windows to the latest version

    • Updating ONLYOFFICE Docs Community Edition for Windows to the latest version

    • Установка ONLYOFFICE Groups для Debian, Ubuntu и производных

    • Установка ONLYOFFICE Groups для Red Hat, CentOS и производных

    • Миграция ONLYOFFICE Groups с Windows на Linux

    • Миграция ONLYOFFICE Groups с Docker на Linux

    • Миграция ONLYOFFICE Groups с Linux на Docker

    • Обновление ONLYOFFICE Groups для Linux до последней версии

    • Обновление ONLYOFFICE Docs для Linux до последней версии

    • Подключение ONLYOFFICE Docs к ONLYOFFICE Groups

    • Переключение ONLYOFFICE Groups на протокол HTTPS

    • Переключение на протокол HTTPS при установке из RPM/DEB-пакетов

    • Переключение ONLYOFFICE Talk на протокол TLS в Linux-версии

    • Устранение неполадок ONLYOFFICE Groups для Linux

    • Running ONLYOFFICE Docs Community Edition as Podman on Fedora

    • Running ONLYOFFICE Docs Enterprise Edition as Podman on Fedora

    • Running ONLYOFFICE Docs Developer Edition as Podman on Fedora

    • Компиляция ONLYOFFICE Docs для локального сервера

    • Установка ONLYOFFICE Docs на Debian, Ubuntu и производные

    • Установка версии ONLYOFFICE Docs Enterprise Edition на Debian, Ubuntu и производные

    • Установка ONLYOFFICE Docs Developer Edition на Debian, Ubuntu и производные

    • Установка ONLYOFFICE Docs на CentOS и производные

    • Установка версии ONLYOFFICE Docs Enterprise Edition на CentOS и производные

    • Установка ONLYOFFICE Docs Developer Edition на CentOS и производные

    • Установка версии ONLYOFFICE Docs для Linux из snap-пакета

    • Подключение ONLYOFFICE Docs к ONLYOFFICE Groups

    • Добавление шрифтов в ONLYOFFICE Docs

    • Переключение ONLYOFFICE Docs на протокол HTTPS

    • Добавление нового языка интерфейса в ONLYOFFICE Docs

    • Добавление новых тем в редактор презентаций ONLYOFFICE Docs

    • Устранение возможных неполадок ONLYOFFICE Docs для Linux

    • Updating ONLYOFFICE Docs Developer Edition for Docker to the latest version

    • Updating ONLYOFFICE Docs Enterprise Edition for Docker to the latest version

    • Updating ONLYOFFICE Docs Community Edition for Docker to the latest version

    • Установка ONLYOFFICE Groups для Docker на локальном сервере

    • Установка ONLYOFFICE Workspace при помощи Docker Compose

    • Миграция ONLYOFFICE Groups с Docker на Linux

    • Миграция ONLYOFFICE Groups с Linux на Docker

    • Установка всех компонентов ONLYOFFICE Workspace, интегрированных между собой

    • Обновление ONLYOFFICE Groups для Docker до последней версии

    • Миграция с ONLYOFFICE Workspace на Enterprise Edition с помощью скрипта Docker

    • Использование дополнительных портов для ONLYOFFICE Groups

    • Подключение базы данных MySQL к ONLYOFFICE Groups

    • Запуск ONLYOFFICE Groups с использованием протокола HTTPS

    • Настройка ONLYOFFICE Groups для работы за NAT

    • Удаление с компьютера ONLYOFFICE Groups для Docker

    • Устранение неполадок ONLYOFFICE Groups для Docker

    • Установка ONLYOFFICE Docs на локальном сервере

    • Установка версии ONLYOFFICE Docs Enterprise Edition для Docker

    • Установка Docker-версии ONLYOFFICE Docs Developer Edition на локальном сервере

    • Installing ONLYOFFICE Docs Community Edition using the provided script

    • Installing ONLYOFFICE Docs Enterprise Edition using the provided script

    • Installing ONLYOFFICE Docs Developer Edition using the provided script

    • Запуск ONLYOFFICE Docs с помощью Docker Compose

    • Установка всех компонентов ONLYOFFICE Workspace, интегрированных между собой

    • Добавление нового языка интерфейса в ONLYOFFICE Docs

    • Удаление с компьютера ONLYOFFICE Docs для Docker

    • Устранение неполадок ONLYOFFICE Docs для Docker

    • Установка ONLYOFFICE Mail для Docker на локальном сервере

    • Установка всех компонентов ONLYOFFICE Workspace, интегрированных между собой

    • Обновление ONLYOFFICE Mail, интегрированного с ONLYOFFICE Groups

    • Подключение ONLYOFFICE Mail к ONLYOFFICE Groups на Windows

    • Подключение ONLYOFFICE Mail к ONLYOFFICE Groups через настройки портала

    • Подключение ONLYOFFICE Mail к ONLYOFFICE Groups на Linux

    • Изменение домена, используемого с ONLYOFFICE Mail

    • Запуск внешнего скрипта после запуска Docker-контейнера ONLYOFFICE Mail

    • Создание почтовых ящиков на почтовом сервере с помощью скрипта

    • Смена паролей к почтовым ящикам на почтовом сервере с помощью скрипта

    • Синхронизация новых почтовых ящиков со старыми с помощью скрипта

    • Удаление с компьютера ONLYOFFICE Mail для Docker

    • Устранение неполадок ONLYOFFICE Mail для Docker

    • Включение vsyscall в Debian

    • Экспорт данных из MS Exchange в ONLYOFFICE

    • Работа с плагинами при использовании CSP

    • Работа с плагинами при использовании CSP

    • Uninstall default plugin from the server editors

    • Adding new plugins to server editors

При установке нескольких серверных решений на разные устройства может возникнуть проблема с настройкой прокси-сервера.

Рассмотрим случай с тремя разными устройствами с

  • nginx – http://nginx,
  • Nextcloud – http://nextcloud,
  • ONLYOFFICE editors – http://onlyoffice.

Установка проводилась через Docker и порт 80.

Для корректного подключения необходимо:

  • Настроить Nginx так, чтобы запрос к http://nginx открывал Nextcloud,
  • Настроить Nextcloud для работы с редакторами документов, доступными на http://nginx/editors/.

В данной статье описывается правильная настройка прокси-сервера для nginx, Nextcloud и ONLYOFFICE Docs.

Шаг 1. Настройка прокси для Nextcloud

Для проксирования Nextcloud через nginx поменяйте настройки nginx и добавьте его адрес в список доверенных доменов Nextcloud.

Необходимые настройки находятся в контейнере nginx в /etc/nginx/conf.d/default.conf. Отредактируйте файл следующим образом:

server { 
        listen 80; 
        location / { 
            proxy_pass_header   Server; 
            proxy_pass          http://nextcloud/; 
        } 
}

Обратите внимание на косую черту в конце пути proxy_pass.

Обновите настройки nginx через команду:

service nginx reload

Добавьте домен http://nginx. Откройте настройки в контейнере Nextcloud в /var/www/html/config/config.php. Найдите или добавьте раздел trusted_domain и добавьте адрес nginx. Когда все изменения вступят в силу, эта часть конфигурации будет выглядеть следующим образом:

‘trusted_domain’ => (0 => ‘nextcloud’, 1 => ‘nginx’)

Шаг 2. Настройка прокси для редакторов документов

Откройте default.conf на сервере nginx и добавьте расположение

location /editors/ {     
    proxy_pass http://onlyoffice/; 
}

Однако для работы редакторов этого недостаточно. По умолчанию редактор документов генерирует ссылки на ресурсы, используя адрес из запроса. Пока редактор не подключен к прокси-серверу, он будет генерировать ссылки вне зависимости от виртуального пути (например, http://nginx/apps/files/). Это неправильно, поскольку /apps/files/ находится на сервере http://onlyoffice/.

Чтобы это исправить, необходимо отредактировать заголовок запроса, указав путь для генерирования ссылок под заголовком ‘X-Forwarded-Host’.

В начале файла конфигурации добавьте следующий код:

proxy_set_header X-Forwarded-Host $http_host/editors

Два других важных заголовка — Upgrade и Connection. Они позволяют использовать протокол websocket для корректной работы ONLYOFFICE.

В результате файл конфигурации default.conf будет выглядеть следующим образом:

proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $proxy_connection;
proxy_set_header X-Forwarded-Host $http_host/editors;
server {
        listen 80;
        location / {
            proxy_pass_header Server;
            proxy_pass http://nextcloud/;
        }
        location /editors/ {
            proxy_pass http://onlyoffice/;
        }
}

Шаг 3. Установка коннектора ONLYOFFICE-Nextcloud

Для связи инстансов ONLYOFFICE и Nextcloud используйте готовый коннектор. Коннектор доступен на GitHub, но самый простой способ — скачать из магазина приложений Nextcloud.

После установки в меню settings появится новая опция. Необходимо задать адрес редакторов ONLYOFFICE – http://nginx/editors/.

Скачать



Лучшие редакторы на вашем сайте

Совместно просматривайте и редактируйте

все типы текстовых файлов, таблиц и презентаций

Recommend Projects

  • React photo

    React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo

    Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo

    Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo

    TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo

    Django

    The Web framework for perfectionists with deadlines.

  • Laravel photo

    Laravel

    A PHP framework for web artisans

  • D3 photo

    D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Visualization

    Some thing interesting about visualization, use data art

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo

    Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo

    Microsoft

    Open source projects and samples from Microsoft.

  • Google photo

    Google

    Google ❤️ Open Source for everyone.

  • Alibaba photo

    Alibaba

    Alibaba Open Source for everyone

  • D3 photo

    D3

    Data-Driven Documents codes.

  • Tencent photo

    Tencent

    China tencent open source team.

Привет, Хабр! представляю вашему вниманию перевод статьи «Setting up NextCloud and ONLYOFFICE on a single server with Docker».

Сложно недооценивать пользу онлайновых пакетов офисных приложений наподобие Google Docs и облачных хранилищ в жизни технически ориентированных людей (tech-oriented people). Технологии получили настолько широкое распространение, что даже компания Microsoft, уже длительное время доминирующая на рынке офисных приложений, в последнее время сосредоточилась на разработке веб-приложения Office 365 и убеждении пользователей перейти на подписную модель использования собственных сервисов. Тех, кого интересует процесс установки и настройки собственного хранилища приглашаем под кат.

Некоторое время назад мы ознакомились с решениями для облачного хранения и пакетами офисных веб-приложений с открытым ресурсным кодом, которые достаточно легко могли бы быть внедрены для использования в микропредприятии. Основная мотивация хранения всей документации онлайн — это сведение объема бумажного документооборота к минимуму, и внедрение положительных бизнес-практик, не смотря на малый объем операций. Обратная сторона монеты в том, что аренда облачного сервера для предоставления данного сервиса менее безопасна, чем хранение непосредственно на территории предприятия, так как у вас нет никаких средств аудита физического доступа к вашему серверу или трафику. Следовательно, также требуется шифрование end-to-end и программное обеспечение с открытым ресурсным кодом.

Приняв во внимание всю доступную информацию о решениях с открытым ресурсным кодом, мы нашли два действующих проекта (с коммитами в git репозитории за прошедшие 12 месяцев), разработанных для облачного хранения: NextCloud и OwnCloud, и единственный активный пакет офисных приложений ONLYOFFICE. У обоих средств для облачного хранения функционал примерно одинаков, и решение выбрать NextCloud было основано на существовании доказательств, того, что оно может быть интегрировано с ONLYOFFICE для комфортного взаимодействия пользователя с ПО. Однако, когда мы начали развертывание сервисов, дефицит информации по интеграции вышеупомянутых сервисов стал очевидным. Мы нашли 3 обучающих видео о том, как произвести интеграцию:

  • www.youtube.com/watch?v=GAd-x_sP6ng
  • www.youtube.com/watch?v=ceOld6P16wI
  • www.youtube.com/watch?v=DvTXyl-OOZA

Ни одно из трех видео не ответило на вопрос установки сервиса документов ONLYOFFICE на том же физическом сервере, что и NextCloud с общим nginx. Вместо этого, они использовали такие технологии разделения, как использование раздельных портов для api сервиса документов. Другим предложенным вариантом было развертывание отдельного сервера для сервиса документов с ручной настройкой конфигурации встроенного в сервис документов инстанса nginx для установки ключа доступа (предварительно известный ключ доступа, подтверждающий право доступа к облаку данных) и сертификатов TLS. Вышеописанные подходы были признаны не безопасными и не достаточно эффективными, поэтому мы произвели интеграцию NextCloud, ONLYOFFICE и общего nginx, который разделяет запросы по доменным именам, с помощью docker-compose. Здесь приведена пошаговая информация о том, как это сделать.

Шаг 1: контейнер nginx

Это очень простая установка, но этот шаг требует самого большого количества работы, для конфигурации обратного прокси сервера. Сначала мы создали конфигурацию docker-compose для образа nginx:stable.

version: '2'
services:
  nginx:
    image : nginx:stable
    restart: always
    volumes:
      - ./nginx/nginx-vhost.conf:/etc/nginx/conf.d/default.conf:ro
      - ./nginx/certificates:/mycerts 
    ports:
      - 443:443
      - 80:80

Это создает контейнер с портами 80 и 443, открытыми для публичного доступа, делает мэппинг конфигурации на nginx/nginx-vhost.conf и определяет хранилище для сертификатов, сгенерированных как самоподписанные сертификаты или с использованием Сertbot от Let’s encrypt в /nginx/certificates. В этом месте должны находиться папки для office.yourdomain.com и cloud.yourdomain.com с файлами fullchain1.pem и privkey1.pem в каждой для цепочки сертификатов и частного ключа сервера соответственно. Вы можете прочитать больше о том, как сгенерировать самоподписанный сертификат здесь www.akadia.com/services/ssh_test_certificate.html (переименование .key и .crt в .pem работает без конвертации файловой структуры для nginx).

После этого мы определили файл vhost. Сначала мы определяем поведение порта 80 как простое перенаправление на https, т.к. мы не хотим разрешать никакой http трафик

server {
    listen 80;
    location / {
        return 301
            https://$host$request_uri;
    }
}

Затем мы создали два виртуальных сервера на порту 443 для наших сервисов:

server {
    listen 443 ssl;
    server_name cloud.yourdomain.com ;
    root /var/www/html;

    ssl_certificate     /mycerts/cloud.yourdomain.com/fullchain1.pem;
    ssl_certificate_key /mycerts/cloud.yourdomain.com/privkey1.pem;
    ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers         HIGH:!aNULL:!MD5;

    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Host $http_host;
        proxy_redirect off;
        proxy_pass http://app:80;
    }
}
server {
    listen 443 ssl;
    server_name office.yourdomain.com;
    root /var/www/html;

    ssl_certificate     /mycerts/office.yourdomain.com/fullchain1.pem;
    ssl_certificate_key /mycerts/office.yourdomain.com/privkey1.pem;
    ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers         HIGH:!aNULL:!MD5;

    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Host $http_host;
        proxy_redirect off;
        proxy_pass http://onlyoffice:80;
    }
}

Шаг 2: сервис документов

Теперь нам нужно добавить контейнер сервиса документов в наш docker-compose.yml. Конфигурировать здесь особо нечего.

services:
...
  onlyoffice:
    image: onlyoffice/documentserver
    restart: always

Но не забудьте связать контейнер nginx с сервисом документов:

services:
...
  nginx:
    ...
    depends_on:
      - onlyoffice

Шаг 3: NextCloud

Сначала добавляем новые сервисы:

services:
...
  db:
    image: mariadb
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
    restart: always
    volumes:
      - /data/nextcloud_db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=#put some password here
      - MYSQL_PASSWORD=#put some other password here
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
  app:
    image: nextcloud
    depends_on:
      - db
      - onlyoffice
    restart: always

и добавляем ссылку на nginx:

services:
...
  nginx:
    ...
    depends_on:
      - app 

Теперь пора загрузить контейнеры.

docker-compose up -d  

Через некоторое время, nginx начнет переадресовывать вас на внешний интерфейс NextCloud, который по умолчанию является станицей конфигурации. Вам необходимо будет ввести имя пользователя и пароль для вашего первого администрирующего пользователя и учетные данные базы данных, которые вы указали в docker-compose.yml После того, как настройка окончена, вы сможете залогиниться. В нашем случае ожидание заняло почти минуту и потребовало дополнительного обновления страницы входа, перед тем, как мы смогли зайти в облачный сервис.

Окно настроек сервиса NextCloud

image

Шаг 4: соединение NextCloud и ONLYOFFICE

На этом шаге вам будет необходимо установить приложение для NextCloud, которое подключает функционал ONLYOFFICE. Начнем с панели управления приложениями в верхнем правом углу меню. Найдите приложение ONLYOFFICE (в разделе “Офис и текст” (Office & text) или с использованием поиска), установите и активируйте его.

После этого направляйтесь в Установки (Settings) через меню в правом верхнем углу, и вы должны будете найти элемент ONLYOFFICE в левом меню. Зайдите в него. Вам будет необходимо прописать адреса, как указано ниже.

Настройки интеграционного приложения

image

Первый адрес используется для ссылки на некоторые файлы js и css напрямую из запущенного в браузере приложения (это то, для чего нам необходимо открыть доступ к сервису ONLYOFFICE через nginx). Секретный ключ не используется, потому что мы доверяем слою изоляции Docker больше, чем постоянному ключу аутентификации. Третий адрес используется контейнером NextCloud для прямого подключения к ONLYOFFICE API, и он использует внутреннее имя хоста по умолчанию из Docker. Ну и последнее поле используется для того, чтобы ONLYOFFICE смог делать запросы обратно к NextCloud API, используя внешний IP-адрес или внутренний адрес Docker, если вы используете сети Docker, но в нашем случае это не используется. Удостоверьтесь, что настройки вашего фаервола позволяют данные виды взаимодействий.

После сохранения, NextCloud протестирует соединение и, если все верно, покажет вам настройки, связанные с интеграцией — например, какие типы файлов могут редактироваться данной интеграцией. Настройте так, как считаете нужным.

Завершающий шаг: где искать редактор

Если вы вернетесь в папки вашего облачного хранилища и нажмете на “+” для создания нового файла, то вам будет доступна новая опция создания документа, таблицы или презентации. С их помощью вы создадите и сразу сможете редактировать данные типы файлов, используя ONLYOFFICE.

Меню создания файлов

image

Recommend Projects

  • React photo

    React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo

    Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo

    Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo

    TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo

    Django

    The Web framework for perfectionists with deadlines.

  • Laravel photo

    Laravel

    A PHP framework for web artisans

  • D3 photo

    D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Visualization

    Some thing interesting about visualization, use data art

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo

    Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo

    Microsoft

    Open source projects and samples from Microsoft.

  • Google photo

    Google

    Google ❤️ Open Source for everyone.

  • Alibaba photo

    Alibaba

    Alibaba Open Source for everyone

  • D3 photo

    D3

    Data-Driven Documents codes.

  • Tencent photo

    Tencent

    China tencent open source team.

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Online проверка текста на ошибки
  • Online plugin citrix ошибка