Pular para o conteúdo principal

Configurando um Proxy Reverso para Nextcloud e ONLYOFFICE Docs

Introdução​

Ao instalar múltiplas soluções de servidor em máquinas diferentes, pode surgir um problema na configuração de um servidor proxy.

Neste caso específico, há três máquinas diferentes com

Tudo foi instalado usando o Docker e a porta 80.

Para estabelecer a conexão correta, as seguintes ações devem ser executadas:

  • Personalização do Nginx para que uma requisição em http://nginx abra o Nextcloud,
  • Personalização do Nextcloud para funcionar com os editores de documentos, disponíveis em http://nginx/editors/.

Leia este artigo para saber como configurar corretamente um servidor proxy para o nginx, o Nextcloud e o ONLYOFFICE Docs.

Passo 1. Configurando um proxy para o Nextcloud​

Para fazer o proxy do Nextcloud via nginx, altere as configurações do nginx e adicione o endereço dele à lista de domínios confiáveis do Nextcloud.

As configurações necessárias estão localizadas no contêiner do nginx, em /etc/nginx/conf.d/default.conf. Deixe este arquivo da seguinte forma:

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

Preste atenção à barra no final do caminho proxy_pass.

Atualize as configurações do nginx com:

service nginx reload

Agora adicione o domínio http://nginx. Abra a configuração no contêiner do Nextcloud em /var/www/html/config/config.php. Encontre ou adicione a seção trusted_domain e adicione o endereço do nginx. Depois que todas as alterações entrarem em vigor, esta parte da configuração ficará assim:

'trusted_domain' => (0 => 'nextcloud', 1 => 'nginx')

Passo 2. Configurando um proxy para os editores de documentos​

Novamente, abra o default.conf no servidor nginx e adicione mais um location

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

Mas isso não será suficiente para o editor funcionar. Por padrão, o editor de documentos gera links para os recursos usando o endereço recebido na requisição. Como o editor não está conectado ao servidor proxy, ele gerará links sem considerar o caminho virtual (por exemplo, http://nginx/apps/files/). Isso não está correto, pois os /apps/files/ estão localizados no servidor http://onlyoffice/.

Para corrigir isso, no cabeçalho da requisição, você precisa indicar o caminho para a geração dos links com o cabeçalho "X-Forwarded-Host".

Adicione o seguinte código no início do arquivo de configuração:

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/;
}
}

Passo 3. Instalando o conector ONLYOFFICE-Nextcloud​

Use o nosso conector pronto para conectar as instâncias do ONLYOFFICE e do Nextcloud entre si. O conector está disponível no GitHub, mas a maneira mais fácil é instalá-lo a partir da loja de aplicativos do Nextcloud.

Após a instalação, você verá uma nova opção no menu Configurações. Lá, você precisará especificar o endereço dos editores do ONLYOFFICE — http://nginx/editors/.