bin/init --tls, NGINX_* ja TLS_* tiedostossa overleaf.rc) ei ole vastinetta; Toolkitin osalta katso TLS-välityspalvelin.
Mitä välityspalvelimen on tehtävä
- Välitä WebSocketit (
/socket.io). - Salli 10 minuutin pyynnöt (pitkät käännökset) ja 50 Mt:n pyyntörungot (lataukset) tai
MAX_UPLOAD_SIZE. - Pidä sen podeihin päin oleva keep-alive-joutoaikakatkaisu alle 65 sekunnissa, joka on podin nginxin aikakatkaisu.
- Lähetä
X-Forwarded-ForjaX-Forwarded-Proto: https. - Useilla replikoilla pidä käyttäjä yhdellä replikalla, katso Horisontaalinen skaalaus.
ConfigMap
X-Forwarded-Proto: https -otsaketta Ayakaleaf Pro olettaa pyyntöjen saapuvan HTTP:n kautta eikä aseta suojattua istuntoevästettään: kirjautumiset epäonnistuvat silloin. Aseta OVERLEAF_SECURE_COOKIE vain, kun käyttäjät todella käyttävät sivustoa HTTPS:n kautta; mikä tahansa arvo ottaa sen käyttöön, myös "false".
HAProxy-esimerkki
Jos haluat päättää HTTPS:n Horisontaalisen skaalauksen HAProxy-DaemonSetissä, yhdistä varmenne ja sen avain yhteen PEM-tiedostoon ja Secretiin:80-haproxy.yaml:
80-haproxy.yaml (changes)
config-hash-arvoa, jotta HAProxy käynnistyy uudelleen, aseta sitten ConfigMap yllä kuvatulla tavalla ja käynnistä replikat uudelleen.
Uudelleenohjaus säilyttää pyynnön portin: se sopii kuormantasaajalle porteissa 80 ja 443, mutta NodePorteissa se ohjaa osoitteen http://host:30081 osoitteeseen https://host:30081. Jos edessä ei ole kuormantasaajaa, jätä uudelleenohjausrivi pois ja anna käyttäjille osoite https://...:30443.
Testattu Kubernetesissa
Kubernetes 1.37:ssä kolmella replikalla ja yllä kuvatulla tavalla HTTPS:n päättävällä HAProxylla, kunOVERLEAF_SITE_URL oli https://-muotoinen ja OVERLEAF_SECURE_COOKIE asetettu: käyttäjät aktivoivat tilinsä https://-linkkien kautta, kirjautuivat sisään Secure-merkityllä istuntoevästeellä, latasivat ja käänsivät projekteja ja hakivat PDF:n, pysyivät replikallaan, avasivat editorin WebSocketin (wss) sekä kloonasivat ja pushasivat Gitillä HTTPS:n kautta. NodePortiin tehdyt http://-pyynnöt ohjattiin osoitteeseen https:// samalla portilla, kuten yllä on kuvattu.
