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-ID: 494959

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

Ausgedruckt am: 23.11.2024 um 16:11 Uhr

Pjordorf
Pjordorf 14.09.2019 um 23:39:57 Uhr
Goto Top
Hallo,

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

Gruß,
Peter
140913
140913 15.09.2019 aktualisiert um 08:56:38 Uhr
Goto Top
NurWeilEsGeht
NurWeilEsGeht 15.09.2019 um 16:05:08 Uhr
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
NurWeilEsGeht
NurWeilEsGeht 15.09.2019 um 16:09:35 Uhr
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
NetzwerkDude
NetzwerkDude 15.09.2019 um 16:32:38 Uhr
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;
        }
140913
140913 15.09.2019 aktualisiert um 16:35:54 Uhr
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 ...
NurWeilEsGeht
NurWeilEsGeht 17.09.2019 aktualisiert um 22:03:47 Uhr
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
Dani
Lösung Dani 19.09.2019, aktualisiert am 25.09.2019 um 20:09:31 Uhr
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