bin/init --tls, NGINX_* und TLS_* in overleaf.rc) hat kein Gegenstück; für das Toolkit siehe TLS-Proxy.
Was der Proxy leisten muss
- WebSockets (
/socket.io) durchleiten. - Anfragen von 10 Minuten (lange Kompilierungen) und Anfragekörper von 50 MB (Uploads) bzw.
MAX_UPLOAD_SIZEzulassen. - Sein Idle-Keep-Alive-Timeout gegenüber den Pods unter 65 Sekunden halten, dem Timeout des nginx im Pod.
X-Forwarded-ForundX-Forwarded-Proto: httpssenden.- Bei mehreren Replikaten einen Benutzer auf einem Replikat halten, siehe Horizontale Skalierung.
ConfigMap
X-Forwarded-Proto: https von einer vertrauenswürdigen Adresse nimmt Ayakaleaf Pro an, dass Anfragen über HTTP eintreffen, und setzt sein sicheres Sitzungs-Cookie nicht: Anmeldungen schlagen dann fehl. Setzen Sie OVERLEAF_SECURE_COOKIE nur, wenn Benutzer die Website tatsächlich über HTTPS erreichen; jeder Wert aktiviert es, auch "false".
HAProxy-Beispiel
Um HTTPS im HAProxy-DaemonSet aus Horizontale Skalierung zu terminieren, legen Sie das Zertifikat und seinen Schlüssel in eine PEM-Datei und ein Secret:80-haproxy.yaml:
80-haproxy.yaml (changes)
config-hash, damit HAProxy neu startet, setzen Sie dann die ConfigMap wie oben und starten Sie die Replikate neu.
Die Weiterleitung behält den Port der Anfrage bei: Das passt zu einem Load Balancer auf den Ports 80 und 443, auf den NodePorts leitet sie jedoch http://host:30081 an https://host:30081 weiter. Ohne vorgeschalteten Load Balancer lassen Sie die Weiterleitungszeile weg und geben den Benutzern die Adresse https://...:30443.
Auf Kubernetes getestet
Auf Kubernetes 1.37 mit drei Replikaten und HAProxy, das HTTPS wie oben terminiert, mitOVERLEAF_SITE_URL auf https:// und OVERLEAF_SECURE_COOKIE: Benutzer aktivierten ihr Konto über https://-Links, meldeten sich mit einem als Secure markierten Sitzungs-Cookie an, luden Projekte hoch und kompilierten sie, wobei das PDF abgerufen wurde, blieben auf ihrem Replikat, öffneten den WebSocket des Editors (wss) und klonten und pushten mit Git über HTTPS. http://-Anfragen auf dem NodePort wurden wie oben beschrieben mit demselben Port an https:// weitergeleitet.
