bin/init --tls, overleaf.rc içindeki NGINX_* ve TLS_*) bir karşılığı yoktur; Toolkit için bkz. TLS proxy.
Proxy’nin yapması gerekenler
- WebSocket’leri (
/socket.io) iletmek. - 10 dakikalık isteklere (uzun derlemeler) ve 50 MB’lık istek gövdelerine (yüklemeler) ya da
MAX_UPLOAD_SIZEdeğerine izin vermek. - Pod’lara yönelik boşta keep-alive zaman aşımını, pod’daki nginx’in zaman aşımı olan 65 saniyenin altında tutmak.
X-Forwarded-ForveX-Forwarded-Proto: httpsgöndermek.- Birden fazla replika ile bir kullanıcıyı tek bir replikada tutmak, bkz. Yatay ölçeklendirme.
ConfigMap
X-Forwarded-Proto: https gelmezse Ayakaleaf Pro isteklerin HTTP üzerinden geldiğini düşünür ve güvenli oturum çerezini ayarlamaz: bu durumda oturum açma başarısız olur. OVERLEAF_SECURE_COOKIE değerini yalnızca kullanıcılar siteye gerçekten HTTPS üzerinden ulaşıyorsa ayarlayın; herhangi bir değer, "false" bile, bunu açar.
HAProxy örneği
HTTPS’yi Yatay ölçeklendirme sayfasındaki HAProxy DaemonSet’inde sonlandırmak için sertifikayı ve anahtarını tek bir PEM dosyasına ve bir Secret’a koyun:80-haproxy.yaml dosyasını değiştirin:
80-haproxy.yaml (changes)
config-hash değerini artırın, ardından ConfigMap’i yukarıdaki gibi ayarlayın ve replikaları yeniden başlatın.
Yönlendirme isteğin portunu korur: 80 ve 443 portlarındaki bir yük dengeleyiciye uygundur, ancak NodePort’larda http://host:30081 adresini https://host:30081 adresine gönderir. Önünde bir yük dengeleyici yoksa yönlendirme satırını çıkarın ve kullanıcılara https://...:30443 adresini verin.
Kubernetes üzerinde test edildi
Üç replikalı ve HTTPS’yi yukarıdaki gibi HAProxy’nin sonlandırdığı,OVERLEAF_SITE_URL değeri https:// olan ve OVERLEAF_SECURE_COOKIE ayarlı Kubernetes 1.37 üzerinde: kullanıcılar https:// bağlantılarıyla etkinleştirildi, Secure olarak işaretlenmiş bir oturum çereziyle oturum açtı, projeleri yükleyip derledi ve PDF’i aldı, kendi replikalarında kaldı, düzenleyicinin WebSocket’ini (wss) açtı ve HTTPS üzerinden Git ile klonlayıp gönderdi. NodePort üzerindeki http:// istekleri, yukarıda açıklandığı gibi aynı portla https:// adresine yönlendirildi.
