Статьи с тэгом :
Закрыть
История изменений
Закрыть
Справочный центр
Интеграция

Настройка обратного проксирования для Nextcloud и редакторов ONLYOFFICE

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

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

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

Download Best editors on your website Let your site users view, edit and collaborate
on all types of text, spreadsheet and presentation files
Вас также может заинтересовать:
Закрыть