bin/init --tls, NGINX_* och TLS_* i overleaf.rc) har ingen motsvarighet; se TLS-proxy för Toolkit.
Vad proxyn måste göra
- Skicka vidare WebSockets (
/socket.io). - Tillåta förfrågningar på 10 minuter (långa kompileringar) och förfrågningar på 50 MB (uppladdningar), eller
MAX_UPLOAD_SIZE. - Hålla sin tidsgräns för inaktiva keep-alive-anslutningar mot poddarna under 65 sekunder, tidsgränsen för nginx i podden.
- Skicka
X-Forwarded-ForochX-Forwarded-Proto: https. - Med flera repliker hålla en användare kvar på en replik, se Horisontell skalning.
ConfigMap
X-Forwarded-Proto: https från en betrodd adress tror Ayakaleaf Pro att förfrågningar kommer över HTTP och sätter inte sin säkra sessionscookie: inloggningar misslyckas då. Ange OVERLEAF_SECURE_COOKIE bara när användarna verkligen når webbplatsen över HTTPS; vilket värde som helst slår på den, även "false".
Exempel med HAProxy
För att avsluta HTTPS i HAProxy-DaemonSet:en från Horisontell skalning lägger du certifikatet och dess nyckel i en PEM-fil och en Secret:80-haproxy.yaml:
80-haproxy.yaml (changes)
config-hash så att HAProxy startas om, ange sedan ConfigMap:en enligt ovan och starta om replikerna.
Omdirigeringen behåller förfrågans port: den passar en lastbalanserare på portarna 80 och 443, men på NodePorts skickar den http://host:30081 till https://host:30081. Utan en lastbalanserare framför utelämnar du omdirigeringsraden och ger användarna adressen https://...:30443.
Testat på Kubernetes
På Kubernetes 1.37 med tre repliker och HAProxy som avslutade HTTPS enligt ovan, medOVERLEAF_SITE_URL på https:// och OVERLEAF_SECURE_COOKIE: användare aktiverades via https://-länkar, loggade in med en sessionscookie märkt Secure, laddade upp och kompilerade projekt och hämtade PDF:en, stannade på sin replik, öppnade redigerarens WebSocket (wss) samt klonade och pushade med Git över HTTPS. http://-förfrågningar på NodePort omdirigerades till https:// med samma port, enligt beskrivningen ovan.
