Как настроить локализованные URL-адреса в объекте API входного контроллера kubernetes nginx - PullRequest
1 голос
/ 13 мая 2019

У меня есть кластер в Azure AKS с 1 узлом.

В этом кластере у меня есть две серверные службы.

Каждый фоновый сервис - это веб-приложение.

У меня есть домен mydomain.com.

Каждое приложение должно быть настроено со своим собственным правилом пути во входном объекте.

Целевой URL веб-приложения 1 (давайте назовем его приложением домашней страницы) должен быть одним из следующих:

US version of the site: mydomain.com
Swedish version of the site: mydomain.com/se/sv-sv/hem 
Any other location/language version of the site: mydomain.com/xx/yy-xx/abcdefgh

Целевой URL веб-приложения 2s (назовем его приложением whitepony) должен быть одним из следующих:

US version of the site: mydomain.com/us/en-us/whitepony
Swedish version of the site: mydomain.com/se/sv-sv/whitepony
Any other location/language version of the site: mydomain.com/xx/yy-xx/whitepony 

(Целевой сегмент пути приложений whitepony называется whitepony независимо от местоположения / языка)

Теперь к моему вопросу.

Как настроить эти правила в объекте API входа?

Могу ли я использовать префиксы в правилах пути?

Или мне нужно использовать регулярные выражения?

А как насчет особого случая американской версии приложения домашней страницы, где я не использую префиксы / дополнительные сегменты URL?

Можно ли использовать условия во входном объекте?

Или как бы вы сконфигурировали объект входного ресурса, чтобы он отвечал всем вышеуказанным требованиям?

Обратите внимание, что я знаю и успешно настроил несколько внутренних служб, используя правила пути в объекте доступа.

Но без префиксов или дополнительных сегментов URL.

1 Ответ

0 голосов
/ 27 июня 2019

Я не приведу вам полностью рабочий пример того, как задать правила во входном ресурсе для удовлетворения ваших требований, я бы хотел поделиться с вами некоторыми советами:

  1. Да, для этого вам понадобятся регулярные выражения, и здесь - это пример непосредственного выполнения этого с директивами NGINX на примере многоязычного сайта wordpress.

  2. Вам не нужно определять эти правила перезаписи с аннотациями, вы можете использовать этот чистый стиль конфигурации NGINX, предоставив соответствующий встроенный файл конфигурации NGINX внутри ConfigMap, здесь - это пример того, как этого добиться.

Надеюсь, это поможет вам

...