es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Azure Application Gateway con Let’s Encrypt

Tengo un clúster de AKS ejecutando Internal nginx ingreso + cert-manager que genera Let’s Encrypt para terminaciones SSL.

Me gustaría incluir un gateway de aplicaciones como punto de entrada, donde espero que el tráfico SSL de Internet llegue al Gateway de Aplicaciones y luego se envíe al ingreso de nginx y finalmente a mi aplicación. No me importa si la eliminación de SSL se realiza en el nivel de Appgw o en el propio clúster de AKS.

Uno de mis mayores problemas es que el Gateway de Aplicaciones requiere un certificado al crear un escucha https. Dado que el certificado se genera automáticamente en el clúster de AKS, no veo la ventaja de proporcionar un certificado SSL al Gateway de Aplicaciones, ni quiero pasar por el trabajo adicional de generar un certificado y guardarlo en keyvault, etc., etc.

¿Cuál es la forma más sencilla de abordar este problema? Las posibles soluciones que he considerado son:
– Configurar el Gateway de Aplicaciones para que pase SSL al clúster de AKS.
– De alguna manera configurar cert-manager para que almacene el certificado en keyvault.

Las únicas opciones que veo (pero no me gusta ninguna) son:
– Comprar un certificado y guardarlo en keyvault (aunque prefiero usar Let’s Encrypt).
– Generar el certificado SSL en un clúster y luego escribir un script que extraiga el certificado y lo guarde en Azure Key Vault.

Cualquier ayuda será apreciada.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Una posible solución a este problema es configurar el Application Gateway para utilizar un certificado de autenticación de backend. Este certificado puede ser un certificado autofirmado, el cual puede generarse en el propio Application Gateway o en una máquina externa. El certificado no se utiliza para la terminación SSL, sino para la autenticación con el servicio de backend (en este caso, el clúster de AKS).

    Para implementar esta solución, siga estos pasos:

    1. Genere un certificado autofirmado en el Application Gateway o en una máquina externa utilizando OpenSSL o una herramienta similar.
    2. Cargue el certificado en el Application Gateway. Esto se puede hacer a través del portal de Azure o mediante Azure CLI.

    3. Configure el Application Gateway para utilizar el certificado de autenticación de backend estableciendo la propiedad pickHostnameFromBackendAddress como true en la configuración del grupo de backends del Application Gateway.

    4. En el clúster de AKS, configure cert-manager para utilizar el certificado de autenticación de backend para la terminación SSL. Esto se puede lograr agregando una referencia al certificado en la configuración de cert-manager.

    Con esta configuración, el tráfico SSL se terminará en el Application Gateway y el tráfico autenticado se enviará al clúster de AKS utilizando el certificado de autenticación de backend. Esta solución evita la necesidad de almacenar un certificado SSL separado en el Azure Key Vault o extraer y cargar manualmente el certificado.

Comments are closed.