Одна мова
Кілька мов на піддоменах
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 в одинарні лапки. Некоректний JSON в OVERLEAF_LANG_DOMAIN_MAPPING зупиняє всі служби пода під час запуску, тож після перезапуску перевірте kubectl -n overleaf get pod.Кілька реплік
Мова визначається іменем хоста кожного запиту, тож вона не залежить від репліки. Липка cookie балансувальника навантаження встановлюється для кожного імені хоста окремо, якщо ви не задасте їй домен, тож перемикання мови може перенести користувача на іншу репліку; його сесія зберігається в Redis і залишається дійсною.Перевірено на Kubernetes
На Kubernetes 1.37 за HAProxy, зOVERLEAF_LANG_DOMAIN_MAPPING, що зіставляє хост сайту з англійською, хост de. — з німецькою, а хост fr. з NodePort :30081 — з французькою: хост сайту показував англійську, хост de. — німецьку, а хост fr. з портом повертався до англійської, як описано вище.
