nurweilesgeht
Goto Top

Nextcloud Onlyoffice NGINX Reverse Proxy

Hallo,

ich habe mir heute Nextcloud mit Onlyoffice im "Docker-Format" heruntergeladen und installiert. Dies erfolgte Einwandfrei, bis ich https aktivieren wollte. Ich betriebe einen seperaten Proxy (NGINX), der die "Arbeit" für meine Web-Adressen übernimmt. Damit meine Instanz auch von außen erreichbar ist muss diese bei mir auch darüber laufen. Die Config-Datei zu erstellen war nicht das Problem, aber Onlyoffice. Ich kann über die IP-Adresse Problemlos mit Onlyoffice arbeite, aber über den Proxy nicht. Wenn ich das Dokument versuche zu öffnen kommt immer die Fehlermeldung "Es ist ein unerwarteter Fehler aufgetreten" und der Tab schließt sich.
In welcher Zeile muss ich bei dem Reverse Proxy etwas hinzufügen/ändern?
Hier meine .conf-Datei:

upstream docservice {
  server zensiert;
}

map $http_upgrade $connection_upgrade {
  default upgrade;
  ''      close;  
}

server {
  listen 80;
  server_name cloud.zensiert.com;
  return 301 https://$host$request_uri;
  client_max_body_size 16000M;
server_tokens off;
}

# SSL configuration
server {
  listen 443 ssl;
  server_name cloud.zensiert.com;
  ssl_certificate      /etc/letsencrypt/live/cloud.zensiert.com/fullchain.pem;
  ssl_certificate_key  /etc/letsencrypt/live/cloud.zensiert.com/privkey.pem;

  # Improve HTTPS performance with session resumption
  ssl_session_cache shared:SSL:10m;
  ssl_session_timeout 5m;

  # Enable server-side protection against BEAST attacks
  ssl_prefer_server_ciphers on;
  ssl_ciphers ECDH+AESGCM:ECDH+AES256:ECDH+AES128:DH+3DES:!ADH:!AECDH:!MD5;

  # Disable SSLv3
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

  # Diffie-Hellman parameter for DHE ciphersuites
  ssl_dhparam /etc/ssl/certs/dhparam.pem;

  # Enable HSTS (https:{{comment_single_line_double_slash:1}}
  add_header Strict-Transport-Security "max-age=63072000; includeSubdomains";  

  # Enable OCSP stapling (http:{{comment_single_line_double_slash:2}}
  ssl_stapling on;
  ssl_stapling_verify on;
  ssl_trusted_certificate /etc/letsencrypt/live/cloud.zensiert.com/fullchain.pem;
  resolver 8.8.8.8 8.8.4.4 valid=300000s;
  resolver_timeout 5s;

  location / {
    proxy_pass http://docservice;
    proxy_set_header Host $host;
    proxy_redirect http:// https://;
    proxy_http_version 1.1;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    client_max_body_size 16000M;
  }
}

Oder muss ich was in den Einstellungen meiner Nextcloud ändern? (Siehe Bild)

Ich hoffe ihr könnt mir weiterhelfen!

Viele Grüße & noch ein schönes Restwochenende
Nurweilesgeht

Content-Key: 494959

Url: https://administrator.de/contentid/494959

Printed on: April 25, 2024 at 06:04 o'clock

Member: Pjordorf
Pjordorf Sep 14, 2019 at 21:39:57 (UTC)
Goto Top
Hallo,

Zitat von @NurWeilEsGeht:
Oder muss ich was in den Einstellungen meiner Nextcloud ändern? (Siehe Bild)
Welches Bild?

Gruß,
Peter
Mitglied: 140913
140913 Sep 15, 2019 updated at 06:56:38 (UTC)
Goto Top
Member: NurWeilEsGeht
NurWeilEsGeht Sep 15, 2019 at 14:05:08 (UTC)
Goto Top
Moin,

Oder muss ich was in den Einstellungen meiner Nextcloud ändern? (Siehe Bild)
Welches Bild?

Oh habe ich vergessen hochzuladen, aber ist anscheinend auch nicht relevant.

Viele Grüße
nurweilesgeht
onlyoffice
Member: NurWeilEsGeht
NurWeilEsGeht Sep 15, 2019 at 14:09:35 (UTC)
Goto Top
Hallo,


danke für den Link!
Ich bekomme das nicht gesch*ssen. Onlyoffice meckert immer rum.
Währe einer so lieb und könnte meine Config entsprechen verändern? Die SSL-Verschlüsselung soll erhalten bleiben und auch automatisch auf HTTPS weitergeleitet werden. Ich verwende NGINX, wie man oben auch sieht.

Danke für eure Hilfe & einen schönen Sonntag
nurweilesgeht
Member: NetzwerkDude
NetzwerkDude Sep 15, 2019 at 14:32:38 (UTC)
Goto Top
Ich würde die conf erstmal auf ein minimum reduzieren, wenn es funktioniert, dann das "drumherum" hinzufügen:
- Websocket ("Upgrade") wegmachen und nur über HTTP Requests arbeiten
- HSTS wegmachen (kanns es am ende anmachen wenn alles tut)
- OCSP wegmachen, analog zu HSTS
- SSL session cache entfernen

Leider hab ich keinen nginx mehr zum ausprobieren, aber ne simple proxy anweisung könnte so ausschauen:
        location / {
                proxy_pass http://docservice:80;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
        }
Mitglied: 140913
140913 Sep 15, 2019 updated at 14:35:54 (UTC)
Goto Top
Schau dir die Seite an und vergleiche dann siehst du was dir in deiner Config fehlt, ich sehs auf Anhieb.
https://github.com/ONLYOFFICE/document-server-proxy/blob/master/nginx/pr ...
Member: NurWeilEsGeht
NurWeilEsGeht Sep 17, 2019 updated at 20:03:47 (UTC)
Goto Top
Moin nochmal,

erstmal danke für die ganzen Tipps!

Schau dir die Seite an und vergleiche dann siehst du was dir in deiner Config fehlt, ich sehs auf Anhieb.
https://github.com/ONLYOFFICE/document-server-proxy/blob/master/nginx/pr ...

Ich finde den Fehler nicht:

upstream docservice {
  server zensiert;
}

map $http_upgrade $connection_upgrade {
  default upgrade;
  ''      close;  
}
map $http_host $this_host {
    "" $host;  
    default $http_host;
}

map $http_x_forwarded_proto $the_scheme {
     default $http_x_forwarded_proto;
     "" $scheme;  
}

map $http_x_forwarded_host $the_host {
    default $http_x_forwarded_host;
    "" $this_host;  
}

map $http_upgrade $proxy_connection {
  default upgrade;
  "" close;  
}

proxy_set_header Connection $proxy_connection;
proxy_set_header X-Forwarded-Host $the_host;
proxy_set_header X-Forwarded-Proto $the_scheme;

server {
  listen 80;
  server_name cloud.zensiert.com;
  return 301 https://$host$request_uri;
  client_max_body_size 16000M;
server_tokens off;
}

# SSL configuration
server {
  listen 443 ssl;
  server_name cloud.zensiert.com;
  ssl_certificate      /etc/letsencrypt/live/cloud.zensiert.com/fullchain.pem;
  ssl_certificate_key  /etc/letsencrypt/live/cloud.zensiert.com/privkey.pem;
  server_tokens off;
  # Improve HTTPS performance with session resumption
  ssl_session_cache builtin:1000 shared:SSL:10m;
  ssl_session_timeout 5m;
  ssl_verify_client off;
  # Enable server-side protection against BEAST attacks
  ssl_prefer_server_ciphers on;
  ssl_ciphers ECDH+AESGCM:ECDH+AES256:ECDH+AES128:DH+3DES:!ADH:!AECDH:!MD5;

  # Disable SSLv3
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

  # Diffie-Hellman parameter for DHE ciphersuites
  ssl_dhparam /etc/ssl/certs/dhparam.pem;
  add_header Strict-Transport-Security max-age=31536000;
  # add_header X-Frame-Options SAMEORIGIN;
  add_header X-Content-Type-Options nosniff;

  # Enable HSTS (https:{{comment_single_line_double_slash:1}}
#  add_header Strict-Transport-Security "max-age=63072000; includeSubdomains"; 

  # Enable OCSP stapling (http:{{comment_single_line_double_slash:2}}
  ssl_stapling on;
  ssl_stapling_verify on;
  ssl_trusted_certificate /etc/letsencrypt/live/cloud.zensiert.com/fullchain.pem;
  resolver 8.8.8.8 8.8.4.4 valid=300000s;
  resolver_timeout 5s;

  location / {
    proxy_pass http://docservice;
    proxy_set_header Host $host;
    proxy_redirect http:// https://;
    proxy_http_version 1.1;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;
    client_max_body_size 16000M;
    proxy_set_header X-Real-IP $remote_addr;
  }
}


nginx -t sagt alles erfolgreich, aber der Fehler mit Onlyoffice besteht weiterhin!

Viele Grüße
nurweilesgeht
Member: Dani
Solution Dani Sep 19, 2019, updated at Sep 25, 2019 at 18:09:31 (UTC)
Goto Top
Moin,
Ich sehe auch mehrere Abweichungen, welche evtl. Auswirkungen haben können. Halte dich doch erst einmal für die Basic Konfiguration an die Vorlage auf GitHub.


Gruß,
Dani