Voer Collabora CODE Behind Nginx uit met TLS-terminatie.

Het laden van documenten kan vastlopen nadat u Collabora CODE achter HTTPS hebt geplaatst, omdat de proxy en CODE het niet eens zijn over waar TLS eindigt, of omdat de proxy WebSocket-verkeer blokkeert. Configureer Nginx om het openbare certificaat te presenteren, door te sturen naar een privé-CODE-listener en de WebSocket-routes door te geven. De CODE-instellingen zijn ssl.enable=falseen ssl.termination=true.

Dit voorbeeld gebruikt Nginx op de Docker-host. Voor een proxy in een andere container kunt u in plaats daarvan het privé-Docker-netwerk gebruiken. Zie de proxy-instellingen van Collabora en de CODE Docker-imagehandleiding voor versiespecifieke opties.

Begrijp wat SSL-terminatie verandert.

TLS-terminatie betekent dat Nginx de HTTPS-verbinding en het certificaat van de browser afhandelt, terwijl CODE HTTP gebruikt op poort 9980 erachter. Houd die listener privé: koppel hem aan loopback op één host of gebruik een privé Docker-netwerk. Als het verkeer van de proxy naar CODE via een onbetrouwbaar netwerk loopt, beveilig die verbinding dan met TLS of een tunnel.

Netwerkdiagram dat laat zien hoe de HTTPS-verbinding van de browser eindigt bij Nginx voordat de privé-HTTP-verbinding de Collabora CODE-container bereikt op 127.0.0.1 poort 9980.
De browser gebruikt HTTPS voor de verbinding met Nginx; HTTP is beperkt tot de privéverbinding tussen de proxy en CODE.

Bereid de container en het certificaat voor.

  1. Kies de openbare hostnaam. Maak een DNS-record aan dat office.example.comverwijst naar de Nginx-proxy. Verkrijg een certificaat voor die specifieke hostnaam en installeer de certificaatketen en de privésleutel ervan op de proxy.
  2. Houd de poort van CODE privé. Voor Nginx dat direct op de Docker-host is geïnstalleerd, publiceer de containerpoort alleen op de loopback-interface. In Compose is de relevante mapping 127.0.0.1:9980:9980. Publiceer de poort niet 9980:9980op elke hostinterface, tenzij een firewall en netwerkconfiguratie dit expliciet verbieden.
  3. Stel de TLS-modus van CODE in. Voeg in de Compose-service de twee opties toe aan de CODE-configuratie. In het onderstaande voorbeeld wordt een afbeeldingsvariabele gebruikt, zodat u de exacte tag die u hebt beoordeeld en getest kunt vastzetten.
De Docker Compose-editor toont de Collabora-servicepoort die is gekoppeld aan 127.0.0.1 op poort 9980.
Door verbinding te maken met 127.0.0.1 blijft de CODE-listener alleen bereikbaar vanaf de Docker-host.
Docker Compose-omgevingsinstellingen met ssl.enable=false en ssl.termination=true voor Collabora CODE
Deze opties geven CODE aan dat TLS wordt afgehandeld door de reverse proxy.
services:
  collabora:
    image: ${COLLABORA_CODE_IMAGE}
    restart: unless-stopped
    ports:
      - "127.0.0.1:9980:9980"
    environment:
      extra_params: "--o:ssl.enable=false --o:ssl.termination=true"

Stel COLLABORA_CODE_IMAGEde tag in op een geteste, vastgezette afbeelding. Behoud uw WOPI-host-whitelist en authenticatie-instellingen; TLS-terminatie vervangt deze niet. Als Nginx een andere Docker-service is, laat dan de hostpoorttoewijzing weg en proxy naar http://collabora:9980het gedeelde privénetwerk.

Configureer Nginx om TLS- en CODE-verkeer te beëindigen en te proxyen.

  1. Voeg de virtuele HTTPS-host toe. Plaats de volgende locaties in het Nginx-serverblok voor de openbare Collabora-hostnaam. Vervang de voorbeeldhostnaam en certificaatpaden. Deze configuratie is voor een Collabora-URL op rootniveau, niet voor een URL die is gekoppeld aan een pad zoals /office/.
Nginx-configuratiefragment met een TLS-listener, de servernaam office.example.com en de paden naar de certificaatbestanden.
Nginx beheert het openbare certificaat en luistert via HTTPS naar de hostnaam van Collabora.
server {
    listen 443 ssl;
    server_name office.example.com;
    ssl_certificate /etc/letsencrypt/live/office.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/office.example.com/privkey.pem;

    location ^~ /browser {
        proxy_pass http://127.0.0.1:9980;
        proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
    location ^~ /hosting/discovery {
        proxy_pass http://127.0.0.1:9980;
        proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
    location ^~ /hosting/capabilities {
        proxy_pass http://127.0.0.1:9980;
        proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    location ~ ^/cool/(.*)/ws$ {
        proxy_pass http://127.0.0.1:9980;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_read_timeout 36000s;
    }
    location ^~ /cool/adminws {
        proxy_pass http://127.0.0.1:9980;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_read_timeout 36000s;
    }
    location ~ ^/(c|l)ool {
        proxy_pass http://127.0.0.1:9980;
        proxy_set_header Host $http_host;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Stuur de routes voor editorassets, discovery en capabilities door. De /cool/.../wslocaties /cool/adminwsvereisen HTTP/1.1 en Upgrade-headers zodat Nginx WebSockets kan tunnelen; een lange lees-timeout houdt bewerkingssessies open. Zie de documentatie van Nginx over WebSocket-proxying .

Nginx-locatieblokken blokkeren het doorsturen van de paden voor het ontdekken van browser- en hostingdiensten naar de privé-CODE-listener.
Stuur de editor-assets, WOPI-ontdekking en mogelijkheden-eindpunten door naar dezelfde CODE-listener.
Nginx WebSocket-locatie voor het coole pad met HTTP 1.1, Upgrade- en Connection-headers en een lange lees-time-out.
De belangrijkste WebSocket-route vereist HTTP/1.1 en de Upgrade-headers, anders kan de editor wel laden maar niet bruikbaar zijn.
Nginx-configuratie voor de coole admin WebSocket en Collabora cool of lool-verzoekpaden.
Stuur ook de administratieve WebSocket en de overige documentoverdrachtsroutes door.

Voer de wijziging door en controleer of het gedrag versiegevoelig is.

  1. Valideer Nginx voordat u het opnieuw laadt. Voer het commando uit nginx -t. Ga alleen verder als Nginx meldt dat de configuratietest succesvol is; laad Nginx vervolgens opnieuw met het normale servicecommando van uw systeem.
  2. Maak de CODE-container opnieuw aan. Pas de Compose-wijziging toe met docker compose up -d collabora. Controleer de containerlogboeken op opstartfouten en bevestig dat de actieve configuratie beide SSL-opties bevat.
Terminalvenster met het commando `nginx -t` klaar om de reverse-proxy-configuratie te valideren.
Voer de syntaxcontrole uit voordat u de pagina opnieuw laadt, zodat een onjuist geformuleerd serverblok geen verstoringen veroorzaakt op andere websites.

Ter context: de repository van Collabora registreerde op 22 juli 2026 een melding dat de ingebouwde coolwsd --probehealth check in CODE 26.04.2.2 en latere versies HTTPS op poort 9980 kon controleren, zelfs wanneer TLS bij de proxy eindigde. Dit kan ertoe leiden dat een container als ongezond wordt gemarkeerd, terwijl het publieke eindpunt wel reageert. Bekijk het probleemrapport voor uw imagetag ; test het publieke eindpunt en een bewerkingssessie voordat u de gezondheidsstatus alleen als bewijs van een TLS-fout beschouwt. Blijf health checks uitvoeren, tenzij een andere monitor ze vervangt.

Controleer of HTTPS-detectie en een echte bewerkingssessie een geldige sessie zijn.

Verzoek https://office.example.com/hosting/discoveryin een browser of met curl. Het zou WOPI discovery XML via HTTPS moeten retourneren, met URL's die de openbare HTTPS-hostnaam gebruiken. Een certificaatwaarschuwing duidt op een probleem met de hostnaam of het certificaat; HTTP-URL's duiden op een mismatch in de TLS-modus of het doorgestuurde schema; een 502-fout geeft aan dat de proxy CODE niet kan bereiken.

Open vervolgens een testdocument vanaf de verbonden WOPI-host en controleer of het bewerken werkt. In de ontwikkelaarstools van de browser /cool/.../wszou de aanvraag een WebSocket-verbinding tot stand moeten brengen. Als de detectie werkt, maar het bewerken vastloopt, controleer dan de WebSocket-locaties en -headers. Controleer of de integratie de WOPI-host toestaat en verwijst naar https://office.example.com.

Succesvolle configuratie: het certificaat wordt vertrouwd, de ontdekking maakt gebruik van HTTPS, poort 9980 blijft privé en een testdocument kan via de WebSocket worden geopend en bewerkt.

Laat een reactie achter

Voer Collabora CODE Behind Nginx uit met TLS-terminatie.

Voer Collabora CODE Behind Nginx uit met TLS-terminatie.

Zorg ervoor dat Nginx de HTTPS-service voor een Collabora CODE-container beheert, stuur WebSockets voor bewerkingen correct door en verifieer het openbare eindpunt zonder poort 9980 bloot te stellen.

Zorg ervoor dat de tekst zichtbaar blijft wanneer het Collabora Mobile-toetsenbord wordt geopend.

Zorg ervoor dat de tekst zichtbaar blijft wanneer het Collabora Mobile-toetsenbord wordt geopend.

Los problemen op waarbij het toetsenbord van een mobiele browser tekst bedekt in Collabora Online, met snelle oplossingen en aparte controles voor browsers, ingebedde WebViews en hostpagina's.

Stop ongewenste afdrukken en downloads in OnlyOffice.

Stop ongewenste afdrukken en downloads in OnlyOffice.

Stel limieten in voor afdrukken en downloaden voor ONLYOFFICE-links, leden van vergaderruimtes of Docs API-sessies en controleer vervolgens de beperkingen vanuit een ontvangeraccount.

Plan betrouwbare back-ups voor ONLYOFFICE Workspace

Plan betrouwbare back-ups voor ONLYOFFICE Workspace

Stel in ONLYOFFICE Workspace een back-upbestemming, -schema, e-maildekking en bewaartermijn in en controleer vervolgens of het archief gereed is voor herstel.

Implementeer ONLYOFFICE Docs Enterprise met het officiële opstelbestand.

Implementeer ONLYOFFICE Docs Enterprise met het officiële opstelbestand.

Start de Enterprise Docker Compose-stack, bewaar de licentie en gegevens, configureer JWT op een veilige manier en controleer of de editors klaar zijn voor integratie.

Tekst in spreadsheets opschonen met een herbruikbare ONLYOFFICE-macro

Tekst in spreadsheets opschonen met een herbruikbare ONLYOFFICE-macro

Gebruik een ONLYOFFICE JavaScript-macro om niet-afdrukbare tekens te verwijderen en overtollige spaties te verwijderen uit een gedefinieerd bereik in een spreadsheet, met een veilige controleworkflow.

De standaard opslaglocatie van ONLYOFFICE Workspace wijzigen

De standaard opslaglocatie van ONLYOFFICE Workspace wijzigen

Verplaats portalgegevens van Disk Default naar een ondersteunde cloudopslagprovider, of verplaats Docker-gegevens veilig door de hostvolumetoewijzing te wijzigen.

Verwijder ONLYOFFICE Document Server volledig van Linux.

Verwijder ONLYOFFICE Document Server volledig van Linux.

Bepaal of de documentenserver gebruikmaakt van een Linux-pakket of Docker, verwijder alleen de componenten ervan en controleer de resterende gegevens zonder per ongeluk gedeelde services te verwijderen.

Voorkom vertragingen bij het samen bewerken in ONLYOFFICE door de oorzaak van het probleem te vinden.

Voorkom vertragingen bij het samen bewerken in ONLYOFFICE door de oorzaak van het probleem te vinden.

Sporen van trage samenwerking bij het bewerken van documenten op basis van Docker-bronnen, proxyverbindingen of de laadtijd van documenten, en kies vervolgens de oplossing die overeenkomt met uw metingen.

HTTPS configureren voor ONLYOFFICE-documentatie in Docker

HTTPS configureren voor ONLYOFFICE-documentatie in Docker

Kies waar TLS moet eindigen, koppel een vertrouwd certificaat en een privésleutel veilig en verifieer de HTTPS-toegang tot een in Docker gehoste ONLYOFFICE Docs-server.