Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda/
Cloud Container Engine/
Guia de usuário/
Rede/
Ingresses/
Ingresses do ELB/
Configuração da Indicação de nome do servidor (SNI) para ingresses de ELB
Atualizado em 2024-11-28 GMT+08:00
Configuração da Indicação de nome do servidor (SNI) para ingresses de ELB
SNI permite que vários nomes de domínio de acesso baseados em TLS sejam fornecidos para sistemas externos usando o mesmo endereço IP e porta. Nomes de domínio diferentes podem usar certificados de segurança diferentes.
- Esta função é suportada apenas em clusters de v1.15.11 e posteriores
- A opção SNI está disponível somente quando HTTPS é usado.
- Apenas um nome de domínio pode ser especificado para cada certificado de SNI. Certificados de domínio curinga são suportados.
- A política de segurança (kubernetes.io/elb.tls-ciphers-policy) é suportada apenas em clusters v1.17.11 ou posterior.
Você pode ativar a SNI quando as condições anteriores forem atendidas. O exemplo a seguir usa a criação automática de um balanceador de carga como exemplo. Neste exemplo, sni-test-secret-1 e sni-test-secret-2 são certificados de SNI. Os nomes de domínio especificados pelos certificados devem ser os mesmos que os dos certificados.
Para clusters da v1.21 ou anterior:
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: ingress-test
annotations:
kubernetes.io/elb.class: performance
kubernetes.io/ingress.class: cce
kubernetes.io/elb.port: '443'
kubernetes.io/elb.autocreate:
'{
"type": "public",
"bandwidth_name": "cce-bandwidth-******",
"bandwidth_chargemode": "bandwidth",
"bandwidth_size": 5,
"bandwidth_sharetype": "PER",
"eip_type": "5_bgp",
"available_zone": [
"ap-southeast-1a"
],
"elb_virsubnet_ids":["b4bf8152-6c36-4c3b-9f74-2229f8e640c9"],
"l7_flavor_name": "L7_flavor.elb.s1.small"
}'
kubernetes.io/elb.tls-ciphers-policy: tls-1-2
spec:
tls:
- secretName: ingress-test-secret
- hosts:
- example.top # Domain name specified when a certificate is issued
secretName: sni-test-secret-1
- hosts:
- example.com # Domain name specified when a certificate is issued
secretName: sni-test-secret-2
rules:
- host: example.com
http:
paths:
- path: '/'
backend:
serviceName: <your_service_name> # Replace it with the name of your target Service.
servicePort: 80
property:
ingress.beta.kubernetes.io/url-match-mode: STARTS_WITH
Para clusters da v1.23 ou posterior:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingress-test
annotations:
kubernetes.io/elb.class: performance
kubernetes.io/elb.port: '443'
kubernetes.io/elb.autocreate:
'{
"type": "public",
"bandwidth_name": "cce-bandwidth-******",
"bandwidth_chargemode": "bandwidth",
"bandwidth_size": 5,
"bandwidth_sharetype": "PER",
"eip_type": "5_bgp",
"available_zone": [
"ap-southeast-1a"
],
"elb_virsubnet_ids":["b4bf8152-6c36-4c3b-9f74-2229f8e640c9"],
"l7_flavor_name": "L7_flavor.elb.s1.small"
}'
kubernetes.io/elb.tls-ciphers-policy: tls-1-2
spec:
tls:
- secretName: ingress-test-secret
- hosts:
- example.top # Domain name specified when a certificate is issued
secretName: sni-test-secret-1
- hosts:
- example.com # Domain name specified when a certificate is issued
secretName: sni-test-secret-2
rules:
- host: example.com
http:
paths:
- path: '/'
backend:
service:
name: <your_service_name> # Replace it with the name of your target Service.
port:
number: 8080 # Replace 8080 with the port number of your target Service.
property:
ingress.beta.kubernetes.io/url-match-mode: STARTS_WITH
pathType: ImplementationSpecific
ingressClassName: cce
Tópico principal: Ingresses do ELB
Feedback
Esta página foi útil?
Deixar um comentário
Obrigado por seus comentários. Estamos trabalhando para melhorar a documentação.
O sistema está ocupado. Tente novamente mais tarde.