Reverse-Proxy für Nextcloud- und ONLYOFFICE-Editoren konfigurieren

Einleitung

Beim Installieren mehrerer Serverlösungen auf unterschiedlichen Computern kann ein Problem beim Konfigurieren eines Proxyservers auftreten.

In diesem speziellen Fall gibt es drei verschiedene Maschinen mit

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

Alles wurde mit Docker und Port 80 installiert.

Um die korrekte Verbindung herzustellen, sollten die folgenden Aktionen ausgeführt werden:

  • Nginx-Anpassung, sodass eine Anfrage an http://nginx Nextcloud öffnet,
  • Nextcloud-Anpassung zur Arbeit mit Dokumenteneditoren, verfügbar unter http://nginx/editors/.

Lesen Sie diesen Artikel, um zu erfahren, wie Sie einen Proxyserver für nginx, Nextcloud und ONLYOFFICE Docs richtig konfigurieren.

Schritt 1. Einrichten eines Proxys für Nextcloud

Um Nextcloud über nginx als Proxy zu verwenden, ändern Sie die nginx-Einstellungen und fügen Sie die Adresse zur Liste der vertrauenswürdigen Domänen von Nextcloud hinzu.

Die notwendigen Einstellungen befinden sich im nginx-Container unter /etc/nginx/conf.d/default.conf. Diese Datei sollte folgendermaßen aussehen:

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

Achten Sie auf den Schrägstrich am Ende des proxy_pass-Pfads.

Aktualisieren Sie die nginx-Einstellungen mit:

service nginx reload

Fügen Sie nun die Domain http://nginx hinzu. Öffnen Sie die Konfiguration im Nextcloud-Container unter /var/www/html/config/config.php. Suchen oder fügen Sie dort den Abschnitt trusted_domain hinzu und fügen Sie die nginx-Adresse hinzu. Nachdem alle Änderungen wirksam geworden sind, sieht dieser Teil der Konfiguration wie folgt aus:

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

Schritt 2. Einrichten eines Proxys für Dokumenteneditoren

Öffnen Sie erneut default.conf auf dem nginx-Server und fügen Sie einen weiteren Speicherort hinzu

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

Dies reicht jedoch nicht aus, um Editoren auszuführen. Standardmäßig generiert der Dokumenteditor Links zu Ressourcen unter Verwendung der in einer Anfrage enthaltenen Adresse. Sofern der Editor nicht mit dem Proxyserver verbunden ist, generiert er Links unabhängig vom virtuellen Pfad (z. B. http://nginx/apps/files/). Dies ist nicht korrekt, da sich /apps/files/ auf dem Server http://onlyoffice/ befindet.

Um dies zu beheben, müssen Sie im Anforderungsheader den Pfad zum Generieren der Links mit dem Header „X-Forwarded-Host“ angeben.

Fügen Sie am Anfang der Konfigurationsdatei den folgenden Code hinzu:

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

Schritt 3. Installieren des ONLYOFFICE-Nextcloud-Konnektors

Verwenden Sie unseren fertigen Konnektor, um ONLYOFFICE- und Nextcloud-Instanzen miteinander zu verknüpfen. Der Konnektor ist auf GitHub verfügbar, am einfachsten ist es jedoch, ihn aus dem Nextcloud App Store zu installieren.

Nach der Installation wird im Menü Einstellungen eine neue Option angezeigt. Dort müssen Sie die Adresse der ONLYOFFICE-Editoren angeben – http://nginx/editors/.

Hosten ONLYOFFICE Docs auf Ihrem eigenen Server oder nutzen Sie es in der Cloud

Artikel zum Thema:
Alle Schlagwörter