Bescherm Collabora CODE-documenten in rust met opslagversleuteling.
Beveilig bestanden die in Collabora CODE zijn bewerkt door de opslaglaag te versleutelen, tijdelijke gegevens te beschermen en de versleuteling en het herstel te verifiëren.
Plaats Collabora op een dedicated HTTPS-hostnaam in Nginx, stuur de editor- en discovery-paden door naar coolwsd, en voeg expliciet de WebSocket-upgradeheaders toe aan de live socket-routes. Voor één host kan Nginx de publieke TLS beëindigen en HTTP naar Collabora verzenden via een privé-interface; als Nginx en Collabora in verschillende containers draaien, gebruik dan de Collabora-servicenaam op hun gedeelde netwerk in plaats van 127.0.0.1.

Dit voorbeeld gaat ervan uit dat gebruikers de verbinding openen https://office.example.comen dat Nginx het certificaat afhandelt. De standaard luisterpoort van Collabora is 9980; gebruik de poort die bereikbaar is in uw implementatie. Een URL-prefix zoals https://example.com/collabora/vereist afgestemde pad- en service-root-instellingen, dus deze root-host-configuratie wordt niet ongewijzigd toegepast.
Voeg in de Nginx- httpcontext een upstream-naam voor Collabora toe en een map die de verbindingsheader upgradealleen instelt wanneer een client een WebSocket-verzoek indient. Plaats dit blok buiten elk ander serverblok. Vervang het adres als Nginx Collabora op een andere manier bereikt.
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
upstream coolwsd {
server 127.0.0.1:9980;
}
Als Nginx zelf een container is, 127.0.0.1verwijst dit naar die Nginx-container, niet naar de Collabora-container. Op een gedeeld Docker-netwerk kan de upstream in plaats daarvan zijn server collabora:9980;, waarbij de servicenaam wordt gebruikt die in dat netwerk wordt opgelost.
Binnen het HTTPS- serverblok voor office.example.com, moet u de browserbronnen, discovery-eindpunten, WebSocket-verbindingen en de overige Collabora-paden doorsturen. De locaties volgen de proxyrichtlijnen van Collabora. Plaats specifieke socketlocaties boven de bredere cool/ loolroute, zodat Nginx de WebSocket-headers correct toepast.

server {
listen 443 ssl;
server_name office.example.com;
ssl_certificate /path/to/fullchain.pem;
ssl_certificate_key /path/to/private-key.pem;
location ^~ /browser {
proxy_pass http://coolwsd;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $http_host;
}
location ^~ /hosting/discovery {
proxy_pass http://coolwsd;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $http_host;
}
location ^~ /hosting/capabilities {
proxy_pass http://coolwsd;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $http_host;
}
location ~ ^/cool/(.*)/ws$ {
proxy_pass http://coolwsd;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 3600s;
}
location ^~ /cool/adminws {
proxy_pass http://coolwsd;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 3600s;
}
location ~ ^/(c|l)ool {
proxy_pass http://coolwsd;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Vervang de certificaatpaden door de bestanden voor uw host. Als uw installatie geen gebruikmaakt van de beheerdersconsole, is de /cool/adminwslocatie mogelijk niet nodig voor het bewerken van documenten; de hoofdroute /cool/.../wsis essentieel. De proxy_read_timeouthier genoemde waarde van één uur is slechts een voorbeeld en geen universele vereiste. De standaard time-out voor proxy-leesbewerkingen van Nginx is 60 seconden tussen opeenvolgende leesbewerkingen. Kies een waarde die langer is dan de benodigde inactiviteitsperioden voor uw sessies, of maak gebruik van voldoende WebSocket-pingverkeer indien ondersteund.
Gebruikers moeten Collabora via HTTPS kunnen bereiken, zelfs wanneer de privéverbinding tussen Nginx en Collabora HTTP gebruikt. In die TLS-terminatieconfiguratie moet coolwsdde proxy als TLS-terminator worden behandeld: SSL wordt uitgeschakeld op de interne listener en SSL-terminatie wordt ingeschakeld. Pas deze instellingen toe via de methode die wordt ondersteund door uw pakket of containerimage en herstart/herlaad Collabora zoals de documentatie vereist.

Gebruik alleen een HTTP-upstream op een vertrouwd privénetwerk en blokkeer openbare toegang tot poort 9980. Als het beleid encryptie tussen Nginx en Collabora vereist, gebruik dan een HTTPS-upstream en configureer certificaatverificatie correct; schakel verificatie niet uit om een certificaatmismatch te verbergen. De documentatie over proxy-instellingen van Collabora maakt onderscheid tussen SSL bij de proxy en SSL tussen de proxy en de server coolwsd.
Stel de Collabora-URL in de opslagintegratie ook in op de openbare HTTPS-hostnaam. Voor Nextcloud vereist de beheerdershandleiding dat de browser en beide servers elkaar via HTTP(S) kunnen bereiken, met overeenkomende externe protocollen. Beperk de WOPI-whitelist tot de verwachte opslaghost en het Collabora-adres; verruim deze niet te veel om een proxy-routeringsfout op te lossen.
Controleer de Nginx-syntaxis voordat je het opnieuw laadt:
sudo nginx -t
sudo systemctl reload nginx
Als Nginx in een container draait, gebruik dan de validatie- en herlaadprocedure van die container. Test vanaf de Nextcloud-host de openbare Collabora-eindpunten met de daadwerkelijke hostnaam:
curl -fsS https://office.example.com/hosting/discovery -o /dev/null
curl -fsS https://office.example.com/hosting/capabilities -o /dev/null
Open die HTTPS-URL's ook vanuit een gebruikersbrowser. Ze controleren de bereikbaarheid, maar een succesvolle ontdekkingsreactie alleen bewijst niet dat documentbewerking werkt. Open een document en gebruik het netwerkpaneel van de browser om te controleren of de assets worden geladen en de /cool/.../wsverbinding open blijft. Een succesvolle HTTP/1.1 WebSocket-verbinding wordt meestal weergegeven 101 Switching Protocols; de exacte weergave kan afhangen van de browser en het transportprotocol. Als deze standaardconfiguratie werkt in Firefox, maar niet in Chromium, controleer dan de aanvraagmethode en het protocol. Een Collabora-probleemrapport voor versie 25.04 beschrijft een Chromium WebSocket via HTTP/2 die CONNECTeen 405-foutmelding geeft; het rapport is nog steeds open, zoals gecontroleerd op 9 oktober 2026. Dit is een versiespecifiek rapport, geen universeel gedrag. Vergelijk uw Collabora-, Nginx- en browserversies voordat u HTTP/2-instellingen wijzigt. Zie Collabora-probleem 12155 .

Als de detectie mislukt, controleer dan het foutenlogboek van Nginx en verifieer de upstream hostnaam, poort en het protocol. Als de detectie wel werkt, maar bewerken geen verbinding kan maken, controleer dan de WebSocket-route, headers, time-out en de Collabora-logboeken. Een WOPI-autorisatiefout wijst op de whitelist van de opslaghost. De handleiding voor probleemoplossing van Nextcloud Office raadt aan om de bereikbaarheid vanuit de browser, Nextcloud en Collabora te controleren en vervolgens de logboeken van beide servers te bekijken.
De Nginx WebSocket-proxyhandleiding legt uit waarom Upgradede parameters Connectionexpliciet moeten worden doorgegeven en waarom het gedrag van de inactiviteitstime-out van belang is. Zie de referentie van de Nginx-proxymodule voor meer informatie over het gedrag van de directive. Zodra de controles geslaagd zijn, opent, bewerkt, slaat u een testdocument op en heropent u het voordat u gebruikers uitnodigt om de nieuwe route te gebruiken.
Beveilig bestanden die in Collabora CODE zijn bewerkt door de opslaglaag te versleutelen, tijdelijke gegevens te beschermen en de versleuteling en het herstel te verifiëren.
Controleer de architectuur van uw host, bevestig dat de CODE-tag ARM64 publiceert, verwijder de geforceerde AMD64-instellingen en onderscheid afbeeldingsfouten van problemen met machtigingen of geheugen.
Stel de WOPI-verbinding tussen Collabora Online en ownCloud Infinite Scale in, configureer de juiste service-URL's en controleer of documentbewerkingen worden opgeslagen.
Voorkom het exporteren van documenten in Collabora Online CODE door de WOPI-machtiging DisableExport in te stellen en vervolgens te controleren of de host en editor deze machtiging afdwingen.
Configureer Nginx TLS-terminatie, Collabora-routes en WebSocket-headers en test vervolgens de openbare eindpunten voordat u echte documenten opent.
Traceer een CODE-verbinding die na 10 minuten verbroken is naar de proxy, load balancer of WebSocket-verbinding, corrigeer vervolgens de time-out en controleer of de sessie verbonden blijft.
Installeer de officiële Collabora Helm-grafiek, configureer WOPI-toegang en ingress-affiniteit en controleer of de implementatie zonder veelvoorkomende installatiefouten.
Gebruik browserverzoeken, WOPI-logboeken en gerichte proxycontroles om te achterhalen waarom Collabora een leeg document opent, en kies een oplossing die aansluit bij de bevindingen.
Configureer de CODE Docker-woordenboeken en tag documentpassages correct, zodat Engels, Frans en andere ondersteunde talen de juiste spellingcontrole krijgen.
Pas de drempelwaarde voor inactiviteit per weergave aan in coolwsd en onderscheid deze van het dimmen van tabbladen op de achtergrond, het sluiten van documenten, automatisch opslaan en het verlopen van inloggegevens.