Jeden język
Kilka języków na subdomenach
1
Skieruj każdy host językowy do Ayakaleaf Pro
Dodaj nazwę DNS dla każdego języka i skieruj je wszystkie do Ayakaleaf Pro z certyfikatem, który je obejmuje, na przykład
*.example.com. Twój ingress lub load balancer musi przekazywać nagłówek Host bez zmian, co ingress-nginx i HAProxy robią domyślnie.Użytkownicy muszą łączyć się z hostami językowymi na standardowych portach (https://cn.example.com, a nie https://cn.example.com:30443): Ayakaleaf Pro porównuje host bez portu.2
ConfigMap
30-config.yaml (additions)
COOKIE_DOMAIN sprawia, że ciasteczko logowania działa na każdym hoście językowym. Umieść JSON w pojedynczych cudzysłowach. Nieprawidłowy JSON w OVERLEAF_LANG_DOMAIN_MAPPING zatrzymuje każdą usługę poda przy uruchomieniu, więc po ponownym uruchomieniu sprawdź kubectl -n overleaf get pod.Kilka replik
Język wynika z nazwy hosta każdego żądania, więc nie zależy od repliki. Ciasteczko przypisania (sticky cookie) load balancera jest ustawiane dla każdej nazwy hosta, chyba że nadasz mu domenę, więc zmiana języka może przenieść użytkownika do innej repliki; jego sesja znajduje się w Redis i pozostaje ważna.Przetestowano na Kubernetes
Na Kubernetes 1.37 za HAProxy, zOVERLEAF_LANG_DOMAIN_MAPPING przypisującym hostowi witryny język angielski, hostowi de. język niemiecki, a hostowi fr. z NodePort :30081 język francuski: host witryny wyświetlał język angielski, host de. niemiecki, a host fr. z portem powrócił do angielskiego, zgodnie z powyższym opisem.
