Перенаправление Traefik Kubernetes 301

У меня traefik установлен через штурвал.

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

У него есть несколько сообщений в блоге.

Теперь я создал субдомен: subdomain.example.com

У меня есть список URL-адресов моих блогов:

/blog-1
/blog-2

И базовый домен, и субдомен находятся в одном кластере.

Я хочу иметь 301 редирект, чтобы, если кто-то попытается посетить:

example.com/blog-1

они будут перенаправлены на:

subdomain.example.com/blog-1

Я не хочу использовать подстановочный знак только для моего списка URL-адресов блогов.

Спасибо

Вот мое промежуточное ПО для перенаправления на https

apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
  name: https-only
  namespace: exmaple
spec:
  redirectScheme:
    scheme: https
    permanent: true

перенаправление:

apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
  name: test-redirectregex
spec:
  redirectRegex:
    regex: "https://example.com"
    replacement: "https://subdomain.example.com"
    permanent: true

Могу ли я использовать несколько redirectRegex в одном промежуточном программном обеспечении? Тогда у меня было бы просто их много для перенаправления каждого URL-адреса


person Henry    schedule 01.01.2021    source источник


Ответы (1)


Только одно перенаправление на промежуточное ПО, но у вас может быть столько промежуточного ПО, сколько захотите.

Но в этом случае вы можете использовать регулярное выражение:

  redirectRegex:
    regex: "https://example.com/(blog-1|blog-2|whatever)"
    replacement: "https://subdomain.example.com/$1"
person coderanger    schedule 01.01.2021
comment
О, хорошо, есть ли ограничение на длину регулярного выражения? - person Henry; 02.01.2021
comment
Синтаксис, поддерживаемый библиотекой регулярных выражений Go, задокументирован на странице github.com/google/re2/wiki/Syntax < / а>. - person coderanger; 02.01.2021