Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

134
Vistas
Kubernetes - Terminación SSL del servicio TCP de entrada

Estoy haciendo la terminación SSL usando Ingress para el tráfico HTTPS. Pero también quiero lograr lo mismo para Custom Port (host virtual http). Por ejemplo, https://example.com:1234 debería ir a http://example.com:1234

Nginx Ingress tiene un ConfigMap donde podemos exponer puertos personalizados. Pero la terminación SSL no funciona aquí.

Cualquier trabajo alrededor? Me pregunto si podría redirigir los https entrantes usando .htaccess en su lugar.

 apiVersion: v1 kind: ConfigMap metadata: name: tcp-services namespace: ingress-nginx data: 1234: "test-web-services/httpd:1234" --- apiVersion: v1 kind: Service metadata: name: ingress-nginx namespace: ingress-nginx labels: app.kubernetes.io/name: ingress-nginx app.kubernetes.io/part-of: ingress-nginx spec: externalTrafficPolicy: Local type: LoadBalancer selector: app.kubernetes.io/name: ingress-nginx app.kubernetes.io/part-of: ingress-nginx ports: - name: http port: 80 protocol: TCP targetPort: http - name: port-1234 port: 1234 protocol: TCP targetPort: 1234
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

SSL Termination para el tráfico TCP no es una función compatible directamente con nginx-ingress .

Se describe más ampliamente en este número de Github:

  • Github.com: Kubernetes: Ingress-nginx: Problemas: [nginx] Compatibilidad con SSL para TCP

También puede encontrar en este hilo que algunas personas lograron implementar una solución alternativa que les permitió admitir la terminación de SSL con servicios TCP . Específicamente:

  • Github.com: Kubernetes: Ingress-nginx: Problemas: [nginx] Compatibilidad con SSL para TCP: comentario 749026036

Como su ejemplo presentaba la "rebaja" de la comunicación HTTPS a HTTP , podría ser beneficioso agregar que puede modificar la forma en que NGINX Ingress Controller se conecta a su backend . Permítanme elaborar sobre eso.

Considere esto como una solución alternativa:

De manera predeterminada, su controlador de NGINX Ingress Controller se conectará a su backend con HTTP . Esto se puede cambiar con la siguiente anotación:

  • nginx.ingress.kubernetes.io/backend-protocol:

Citando la documentación oficial:

Es posible usar anotaciones de protocolo de back-end para indicar cómo NGINX debe comunicarse con el servicio de back-end. (Reemplaza backends seguros en versiones anteriores) Valores válidos: HTTP, HTTPS, GRPC, GRPCS, AJP y FCGI

Por defecto, NGINX usa HTTP.

-- Kubernetes.github.io: Ingress-nginx: Guía del usuario: Configuración de Nginx: Anotaciones: Protocolo backend

En este ejemplo particular, la ruta de la solicitud será la siguiente:

  • client -- (HTTP S :443) --> Ingress controller de entrada (Terminación TLS) -- (HTTP: puerto de servicio) --> Service ----> Pod

la advertencia

Puede utilizar el Service de tipo LoadBalancer para enviar el tráfico desde el puerto 1234 al 80 de su 443 de Ingress Controller . Esto facilitaría mucho la terminación de TLS , pero obligaría al cliente a usar solo un protocolo. Por ejemplo:

 - name: custom port: 1234 protocol: TCP targetPort: 443

Este extracto del Service nginx-ingress podría usarse para reenviar el tráfico HTTPS a su Ingress Controller de entrada, donde la solicitud terminaría con TLS terminated y se reenviaría como HTTP a su backend . Forzar el HTTP a través de ese puerto arrojaría el código de error 400: Bad request .

En este ejemplo particular, la ruta de la solicitud será la siguiente:

  • client -- (HTTP S :1234) --> Ingress controller de entrada (Terminación TLS) -- (HTTP:puerto-servicio) --> Service ----> Pod
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda