Liebe Community,
nach dem Upgradesprung von Nextcloud 21.0.9-0 auf Nextcloud 22.2.7-0 funktioniert Collabora nicht mehr. Genauer gesagt, können wir aus den Nextcloud Einstellungen nicht mehr die externe URL (orange-dev.beispielurl.de) erreichen. Sobald der interne FQDN eingetragen wird, funktioniert Collabora wieder (solange wir die VPN aufrecht erhalten, ohne VPN funktioniert es dann natürlich nicht mehr, da die interne Adresse bzw. der FQDN dann nicht mehr erreichbar ist).
You can also help us in english if you want to
Unser Aufbau
- Ein root Mietserver mit Proxmox VE 7 (alle Ports → OPNsense)
2.1 OPNsense Firewall (TCP 80, 443 → reverseProxy)
2.2 Debian 11 reverseProxy mit NGINX und certbot (Domain orange-dev.beispielurl.de → webAppBei01.beispiel.ucs [10.220.0.17])
2.3 pdcBei.beispiel.ucs (Primärer UCS Domänen Controller)
2.4 webAppBei01.beispiel.ucs (UCS Applikations Server mit Nextcloud und Collabora Docker Container)
In der folgenden Konstellation funktioniert es nocht
- Nextcloud 21.0.9-0
- Collabora 21.11.2.4
- Collabora Nextcloud App 4.2.7
- UCS 5.0-1 errata 524 (auf allen UCS Systemen)
$ univention-app list nextcloud
nextcloud
Name: Nextcloud Hub
Versions:
20.0.9-0
20.0.10-0
21.0.3-0
21.0.4-0
21.0.5-0
21.0.7-0
21.0.9-0
Installed: webAppBei01.beispiel.ucs
22.2.7-0
23.0.4-0
23.0.5-0
$ univention-app list collabora
collabora
Name: Collabora Online Development Edition
Versions:
6.4.10.5
6.4.10.10
21.11.2.4
Installed: webAppBei01.beispiel.ucs
Nextcloud > Einstellungen > Übersicht
Nextcloud > Einstellungen > Collabora Online
Nextcloud > Ein Testdokument
Unsere reverseProxy Nginx Konfiguration
server {
if ($host = orange-dev.beispielurl.de) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
listen [::]:80;
server_name orange-dev.beispielurl.de;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name orange-dev.beispielurl.de;
client_max_body_size 999M;
# Server SSL
ssl_certificate /etc/letsencrypt/live/orange-dev.beispielurl.de/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/orange-dev.beispielurl.de/privkey.pem; # managed by Certbot
# Globale Einstellungen
add_header Strict-Transport-Security "max-age=15768000;
includeSubDomains; preload;";
fastcgi_hide_header X-Powered-By;
proxy_read_timeout 180;
proxy_http_version 1.1;
proxy_pass_request_headers on;
proxy_pass_header Date;
proxy_pass_header Server;
proxy_pass_header Authorization;
proxy_buffering off;
proxy_set_header Connection "Keep-Alive";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Accept-Encoding "";
more_set_input_headers 'Authorization: $http_authorization';
more_set_headers -s 401 'WWW-Authenticate: Basic realm="orange-dev.beispielurl.de"';
location / {
proxy_pass https://10.220.0.17/;
proxy_redirect https://10.220.0.17 https://orange-dev.beispielurl.de;
}
rewrite ^/$ /nextcloud/ last;
location = /.well-known/carddav {
return 301 $scheme://$host/nextcloud/remote.php/dav;
}
location = /.well-known/caldav {
return 301 $scheme://$host/nextcloud/remote.php/dav;
}
location /.well-known/acme-challenge {
}
location = /.well-known/webfinger {
return 301 $scheme://$host/nextcloud/index.php/.well-known/webfinger;
}
location = /.well-known/nodeinfo {
return 301 $scheme://$host/nextcloud/index.php/.well-known/nodeinfo;
}
# static files
location ^~ /browser {
proxy_pass https://10.220.0.17:9980;
proxy_set_header Host $http_host;
}
# WOPI discovery URL
location ^~ /hosting/discovery {
proxy_pass https://10.220.0.17:9980;
proxy_set_header Host $http_host;
}
# Capabilities
location ^~ /hosting/capabilities {
proxy_pass https://10.220.0.17:9980;
proxy_set_header Host $http_host;
}
# main websocket
location ~ ^/cool/(.*)/ws$ {
proxy_pass https://10.220.0.17:9980;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $http_host;
proxy_read_timeout 36000s;
}
# download, presentation and image upload
location ~ ^/(c|l)ool {
proxy_pass https://10.220.0.17:9980;
proxy_set_header Host $http_host;
}
# Admin Console websocket
location ^~ /cool/adminws {
proxy_pass https://10.220.0.17:9980;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $http_host;
proxy_read_timeout 36000s;
}
# redirect server error pages to the static page
error_page 403 /error403.html;
location = /error403.html {
root /var/www/error;
}
}
Wie geschrieben, bis hierher funktioniert alles blendent.
In der folgenden Konstellation funktioniert es dann nicht mehr
- Nextcloud 22.2.7-0 (gleiches Verhalten in den Versionen 23.0.4-0 und 23.0.5-0)
- Collabora 21.11.2.4
- Collabora Nextcloud App 4.2.7 (im Falle von 23.0.4-0 und 23.0.5-0 liegt dann die App Version 5.0.5 vor, ebenso testeten wir die App Version 5.0.4)
- UCS 5.0-1 errata 524 (auf allen UCS Systemen)
Inhalt der /var/www/html/config/config.php des Nextcloud Docker Containers
<?php
$CONFIG = array (
'passwordsalt' => '..%passwordsalt%..',
'secret' => '..%secret%..',
'trusted_domains' =>
array (
0 => 'webAppBei01.beispiel.ucs',
1 => '10.220.0.17',
2 => 'orange-dev.beispielurl.de',
),
'datadirectory' => '/var/lib/univention-appcenter/apps/nextcloud/data/nextcloud-data',
'dbtype' => 'pgsql',
'version' => '22.2.7.1',
'overwrite.cli.url' => 'https://orange-dev.beispielurl.de/nextcloud',
'dbname' => 'nextcloud',
'dbhost' => '172.17.42.1:5432',
'dbport' => '',
'dbtableprefix' => 'oc_',
'dbuser' => 'nextcloud',
'dbpassword' => '..%dbpassword%..',
'installed' => true,
'instanceid' => 'ocx6tslabhwg',
'updatechecker' => false,
'upgrade.disable-web' => true,
'memcache.local' => '\\OC\\Memcache\\APCu',
'memcache.distributed' => '\\OC\\Memcache\\APCu',
'overwriteprotocol' => 'https',
'overwritewbroot' => '/nextcloud',
'htaccess.RewriteBase' => '/nextcloud',
'ldapProviderFactory' => 'OCA\\User_LDAP\\LDAPProviderFactory',
'default_phone_region' => 'DE',
'skeletondirectory' => '',
'trusted_proxies' =>
array (
0 => '172.17.42.1',
),
'maintenance' => false,
'loglevel' => 2,
);
Nextcloud > Einstellungen > Übersicht
Nextcloud > Einstellungen > Collabora Online
Nextcloud > Ein Testdokument
Es scheint so, als ob eine neue Einstellung bzw. evtl. ein neuer Wert z.B. in der config.php fehlen würde, welcher einen externen Host zulassen würde.
Hat irgend jemand von Euch evtl. das gleiche Problem bzw. hat jemand von Euch eine Löung zur Hand?
Vielen Dank bereits für Eure Unterstützung,
Viele Grüße aus dem Rheinland,
Migo