Skip to main content
All’interno del pod, il nginx del container serve HTTP in chiaro sulla porta 80. HTTPS termina davanti ai pod: nel tuo ingress controller, nel load balancer del tuo cloud, oppure in HAProxy come in Scalabilità orizzontale. Il proxy NGINX del Toolkit (bin/init --tls, NGINX_* e TLS_* in overleaf.rc) non ha un equivalente; per il Toolkit vedi Proxy TLS.

Cosa deve fare il proxy

  • Inoltrare i WebSocket (/socket.io).
  • Consentire richieste di 10 minuti (compilazioni lunghe) e corpi di richiesta di 50 MB (upload), oppure MAX_UPLOAD_SIZE.
  • Mantenere il proprio timeout keep-alive di inattività verso i pod sotto i 65 secondi, il timeout del nginx nel pod.
  • Inviare X-Forwarded-For e X-Forwarded-Proto: https.
  • Con più repliche, mantenere un utente su un’unica replica, vedi Scalabilità orizzontale.

ConfigMap

Senza X-Forwarded-Proto: https proveniente da un indirizzo attendibile, Ayakaleaf Pro ritiene che le richieste arrivino via HTTP e non imposta il suo cookie di sessione sicuro: gli accessi quindi falliscono. Imposta OVERLEAF_SECURE_COOKIE solo quando gli utenti raggiungono davvero il sito via HTTPS; qualsiasi valore lo attiva, anche "false".

Esempio con HAProxy

Per terminare HTTPS nel DaemonSet HAProxy di Scalabilità orizzontale, inserisci il certificato e la sua chiave in un unico file PEM e in un Secret:
Poi modifica 80-haproxy.yaml:
80-haproxy.yaml (changes)
Aggiorna config-hash in modo che HAProxy si riavvii, poi imposta la ConfigMap come sopra e riavvia le repliche. Il reindirizzamento mantiene la porta della richiesta: è adatto a un load balancer sulle porte 80 e 443, ma sulle NodePort invia http://host:30081 a https://host:30081. Senza un load balancer davanti, ometti la riga del reindirizzamento e fornisci agli utenti l’indirizzo https://...:30443.

Testato su Kubernetes

Su Kubernetes 1.37 con tre repliche e HAProxy che termina HTTPS come sopra, con OVERLEAF_SITE_URL su https:// e OVERLEAF_SECURE_COOKIE: gli utenti sono stati attivati tramite link https://, hanno effettuato l’accesso con un cookie di sessione contrassegnato come Secure, hanno caricato e compilato progetti scaricando il PDF, sono rimasti sulla propria replica, hanno aperto il WebSocket dell’editor (wss) e hanno eseguito clone e push con Git su HTTPS. Le richieste http:// sulla NodePort sono state reindirizzate a https:// con la stessa porta, come descritto sopra.
Ultima modifica il 2 novembre 2026