Skip to main content
Di dalam pod, nginx milik kontainer menyajikan HTTP biasa di port 80. HTTPS berakhir di depan pod: di ingress controller Anda, load balancer cloud Anda, atau HAProxy seperti di Penskalaan horizontal. Proxy NGINX milik Toolkit (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-For dan X-Forwarded-Proto: https.
  • Dengan beberapa replika, mempertahankan pengguna di satu replika, lihat Penskalaan horizontal.

ConfigMap

Tanpa 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:
Kemudian ubah 80-haproxy.yaml:
80-haproxy.yaml (changes)
Naikkan 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, dengan OVERLEAF_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.
Terakhir diubah pada 2 November 2026