單一語言
在子網域上提供多種語言
1
將每個語言主機導向 Ayakaleaf Pro
為每種語言新增一個 DNS 名稱,並將它們全部導向 Ayakaleaf Pro,同時使用涵蓋所有名稱的憑證,例如
*.example.com。您的 Ingress 或負載平衡器必須原封不動地傳遞 Host 標頭,ingress-nginx 與 HAProxy 預設即是如此。使用者必須透過標準連接埠連線至語言主機(https://cn.example.com,而非 https://cn.example.com:30443):Ayakaleaf Pro 比對主機時不含連接埠。2
ConfigMap
30-config.yaml (additions)
COOKIE_DOMAIN 讓登入 Cookie 在每個語言主機上都能運作。請將 JSON 放在單引號中。OVERLEAF_LANG_DOMAIN_MAPPING 中若有無效的 JSON,Pod 的所有服務都會在啟動時停止,因此重新啟動後請檢查 kubectl -n overleaf get pod。多個副本
語言取決於每個請求的主機名稱,因此與副本無關。除非您為負載平衡器的黏性 Cookie 指定網域,否則它會依主機名稱分別設定,因此切換語言可能會讓使用者轉移到另一個副本;其工作階段保存在 Redis 中,仍然有效。在 Kubernetes 上的測試
在 Kubernetes 1.37 上置於 HAProxy 之後,並以OVERLEAF_LANG_DOMAIN_MAPPING 將網站主機對應到英文、de. 主機對應到德文、帶有 NodePort :30081 的 fr. 主機對應到法文:網站主機顯示英文、de. 主機顯示德文,而帶有連接埠的 fr. 主機則如上所述退回英文。
