Skip to main content
Uvnitř podu poskytuje nginx kontejneru čisté HTTP na portu 80. HTTPS končí před pody: ve vašem ingress controlleru, v cloudovém load balanceru nebo v HAProxy jako v horizontálním škálování. NGINX proxy z Toolkitu (bin/init --tls, NGINX_* a TLS_* v overleaf.rc) zde nemá obdobu; pro Toolkit viz TLS proxy.

Co musí proxy dělat

  • Propouštět WebSockety (/socket.io).
  • Povolit požadavky trvající 10 minut (dlouhé kompilace) a těla požadavků o velikosti 50 MB (nahrávání), případně MAX_UPLOAD_SIZE.
  • Udržovat svůj idle keep-alive timeout směrem k podům pod 65 sekundami, což je timeout nginxu v podu.
  • Posílat X-Forwarded-For a X-Forwarded-Proto: https.
  • Při více replikách držet uživatele na jedné replice, viz Horizontální škálování.

ConfigMap

Bez X-Forwarded-Proto: https z důvěryhodné adresy se Ayakaleaf Pro domnívá, že požadavky přicházejí přes HTTP, a nenastaví svou zabezpečenou session cookie: přihlášení pak selhávají. OVERLEAF_SECURE_COOKIE nastavte pouze tehdy, když uživatelé k webu skutečně přistupují přes HTTPS; zapne ji jakákoli hodnota, i "false".

Příklad s HAProxy

Chcete-li ukončovat HTTPS v DaemonSetu HAProxy z horizontálního škálování, vložte certifikát a jeho klíč do jednoho souboru PEM a do Secretu:
Poté upravte 80-haproxy.yaml:
80-haproxy.yaml (changes)
Zvyšte config-hash, aby se HAProxy restartovala, poté nastavte ConfigMap podle výše uvedeného a restartujte repliky. Přesměrování zachovává port požadavku: hodí se pro load balancer na portech 80 a 443, ale na NodePortech přesměruje http://host:30081 na https://host:30081. Bez load balanceru před clusterem řádek s přesměrováním vynechte a uživatelům dejte adresu https://...:30443.

Testováno na Kubernetes

Na Kubernetes 1.37 se třemi replikami a HAProxy ukončující HTTPS podle výše uvedeného, s OVERLEAF_SITE_URL na https:// a s OVERLEAF_SECURE_COOKIE: uživatelé se aktivovali přes odkazy https://, přihlásili se se session cookie označenou Secure, nahráli a zkompilovali projekty a stáhli PDF, zůstali na své replice, otevřeli WebSocket editoru (wss) a klonovali a pushovali pomocí Gitu přes HTTPS. Požadavky http:// na NodePortu byly přesměrovány na https:// se stejným portem, jak je popsáno výše.
Naposledy změněno 2. listopadu 2026