Wildcard-сертификат#
Wildcard-сертификат упрощает настройку терминации TLS, если необходимо использовать один и тот же TLS-сертификат в нескольких ресурсах Ingress и VirtualServer в разных пространствах имен. Wildcard-сертификат позволяет централизованно управлять TLS-сертификатами для множества доменов без дублирования секрета в каждом ресурсе.
Обычно такой сертификат выдается для поддомена (например, *.example.com
),
а хосты ресурсов Ingress и VirtualServer включают этот поддомен (например foo.example.com
, bar.example.com
).
Важно
Предварительно необходимо запустить ANIC с аргументом командной строки -wildcard-tls-secret
со значением TLS-секрета, содержащего wildcard-сертификат и ключ.
ANIC поддерживает только один wildcard-секрет.
-wildcard-tls-secret=angie-ingress/wildcard-tls-secret
Пример#
В примерах ниже показана настройка терминации TLS для ресурса Ingress с хостом foo.example.com
и ресурса VirtualServer с хостом bar.example.com
.
Пример для Ingress из пространства имен foo
:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: foo
namespace: foo
spec:
ingressClassName: angie
tls:
- hosts:
- foo.example.com
rules:
- host: foo.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: foo-service
port:
number: 80
Пример для VirtualServer из пространства имен bar
:
apiVersion: k8s.angie.software/v1
kind: VirtualServer
metadata:
name: bar
namespace: bar
spec:
host: bar.example.com
tls:
secret: ""
upstreams:
- name: bar
service: bar-service
port: 80
routes:
- path: /
action:
pass: bar
В примерах выше конкретный TLS-секрет не указан:
в ресурсе Ingress отсутствует поле
secret
в блокеtls
;в ресурсе VirtualServer поле
secret
пустое (""
).
В этом случае будет использоваться wildcard-секрет,
указанный с помощью параметра -wildcard-tls-secret
при запуске ANIC.