bin/init --tls, NGINX_* dan TLS_* di overleaf.rc) tidak memiliki padanan; lihat Proxy TLS untuk Toolkit.
Yang harus dilakukan proxy
- Meneruskan WebSocket (
/socket.io). - Mengizinkan permintaan selama 10 menit (kompilasi panjang) dan body permintaan sebesar 50 MB (unggahan), atau
MAX_UPLOAD_SIZE. - Menjaga batas waktu idle keep-alive ke arah pod di bawah 65 detik, batas waktu nginx di dalam pod.
- Mengirim
X-Forwarded-FordanX-Forwarded-Proto: https. - Dengan beberapa replika, mempertahankan pengguna di satu replika, lihat Penskalaan horizontal.
ConfigMap
X-Forwarded-Proto: https dari alamat tepercaya, Ayakaleaf Pro mengira permintaan datang melalui HTTP dan tidak mengatur cookie sesi aman: login kemudian gagal. Atur OVERLEAF_SECURE_COOKIE hanya jika pengguna benar-benar mengakses situs melalui HTTPS; nilai apa pun akan mengaktifkannya, termasuk "false".
Contoh HAProxy
Untuk mengakhiri HTTPS di DaemonSet HAProxy dari Penskalaan horizontal, masukkan sertifikat dan kuncinya ke dalam satu file PEM dan sebuah Secret:80-haproxy.yaml:
80-haproxy.yaml (changes)
config-hash agar HAProxy dimulai ulang, lalu atur ConfigMap seperti di atas dan mulai ulang replika.
Redirect mempertahankan port dari permintaan: cocok untuk load balancer di port 80 dan 443, tetapi di NodePort, redirect ini mengirim http://host:30081 ke https://host:30081. Tanpa load balancer di depan, hilangkan baris redirect dan berikan alamat https://...:30443 kepada pengguna.
Diuji di Kubernetes
Di Kubernetes 1.37 dengan tiga replika dan HAProxy yang mengakhiri HTTPS seperti di atas, denganOVERLEAF_SITE_URL pada https:// dan OVERLEAF_SECURE_COOKIE: pengguna diaktifkan melalui tautan https://, masuk dengan cookie sesi bertanda Secure, mengunggah dan mengompilasi proyek dengan PDF yang berhasil diambil, tetap berada di replikanya, membuka WebSocket editor (wss), serta melakukan clone dan push dengan Git melalui HTTPS. Permintaan http:// di NodePort diarahkan ke https:// dengan port yang sama, seperti dijelaskan di atas.
