Passa al contenuto principale

Configurazione di un reverse proxy per Nextcloud e gli editor di ONLYOFFICE

Introduzione​

Dopo aver installato diverse soluzioni server su macchine differenti, potrebbe sorgere un problema nella configurazione di un server proxy.

In questo caso specifico, ci sono tre macchine diverse con

Tutto è stato installato utilizzando Docker e la porta 80.

Per stabilire la connessione corretta, devono essere eseguite le seguenti azioni:

  • Personalizzazione di Nginx in modo che una richiesta su http://nginx apra Nextcloud,
  • Personalizzazione di Nextcloud per funzionare con gli editor di documenti, disponibili su http://nginx/editors/.

Leggi questo articolo per scoprire come configurare correttamente un server proxy per nginx, Nextcloud e ONLYOFFICE Docs.

Passo 1. Configurazione di un proxy per Nextcloud​

Per proxyare Nextcloud tramite nginx, modifica le impostazioni di nginx e aggiungi il suo indirizzo all'elenco dei domini attendibili di Nextcloud.

Le impostazioni necessarie si trovano nel container nginx in /etc/nginx/conf.d/default.conf. Fai in modo che questo file appaia così:

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

Presta attenzione alla barra finale nel percorso proxy_pass.

Aggiorna le impostazioni di nginx con:

service nginx reload

Ora aggiungi il dominio http://nginx. Apri la configurazione nel container di Nextcloud in /var/www/html/config/config.php. Trova o aggiungi la sezione trusted_domain e aggiungi l'indirizzo nginx. Dopo che tutte le modifiche sono effettive, questa parte della configurazione apparirà così:

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

Passo 2. Configurazione di un proxy per gli editor di documenti​

Apri nuovamente default.conf sul server nginx e aggiungi un'altra posizione

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

Ma questo non sarà sufficiente per far funzionare gli editor. Di default, l'editor di documenti genera link alle risorse utilizzando l'indirizzo che arriva in una richiesta. Poiché l'editor non è connesso al server proxy, genererà link indipendentemente dal percorso virtuale (ad esempio, http://nginx/apps/files/). Questo non è corretto, poiché /apps/files/ si trovano sul server http://onlyoffice/.

Per risolvere questo problema, nell'intestazione della richiesta, è necessario indicare il percorso per generare i link con l'intestazione "X-Forwarded-Host".

Aggiungi il seguente codice all'inizio del file di configurazione:

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. Installazione del connettore ONLYOFFICE-Nextcloud​

Utilizza il nostro connettore pronto per collegare le istanze di ONLYOFFICE e Nextcloud tra loro. Il connettore è disponibile su GitHub, ma il modo più semplice è installarlo dal Nextcloud app store.

Dopo l'installazione, vedrai una nuova opzione nel menu impostazioni. Lì, dovrai specificare l'indirizzo degli editor di ONLYOFFICE — http://nginx/editors/.