Configurando custom domains en CloudHub 2.0

Leonardo López
Another Integration Blog
4 min readSep 27, 2023

CH 2.0 es la solución IPaaS (Integration Plaform as a Service) de MuleSoft en la nube que permite desplegar Apis y aplicaciones Mule contenerizadas. https://docs.mulesoft.com/cloudhub-2/

Es posible desplegar apps en un “shared space” el cual está disponible incluso para licencias trial en el cual todas las apps usan el mismo espacio compartido (recomendado solo para ensayos o pruebas de concepto, nunca para ambientes productivos) y también en “private space” (requiere licencia y es el adecuado para soluciones productivas) el cual ofrece un espacio aislado y privado para tus apps.

Al crear un PS es necesario configurar una private network y de esta manera es posible extender tu red privada conectándola con tu PS a través de VPN o Transit Gateway (AWS).

En éste artículo detallaremos la configuración para usar dominos propios para nuestas apps Mule.

El primer paso es tener o adquirir un dominio de internet propio el cual se puede comprar con algún proveedor de servicios, y configurar dicho dominio pare redirigir el tráfico entrante hacia el public DNS target de nuestro PS añadiendo un registro de tipo CNAME.

Luego de configurar el dominio es posible probarlo haciendo uso de algún website de chequeo de DNS para confirmar que nuestro dominio este redirigiendo hacia el DNS público de nuestro private space.

El segundo paso es obtener un certificado para nuetro dominio, lo cual se puede hacer de dos formas. Se puede comprar y descargar un certificado ya firmado por alguna autoridad certificadora (por ejemplo en https://zerossl.com) o se puede crear (https://docs.mulesoft.com/cloudhub-2/ps-config-ssl-endpoints) y luego enviar para ser firmado por la autoridad. Para escenarios de pruebas es posible usar un certifcado “self-signed” o auto firmado teniendo en cuenta que durante el consumo de las apps podremos ver mensajes del tipo “certificado no confiable”.

Por defecto todo private space que se crea tiene un default TLS context con un certíficado válido para la dirección DNS pública e interna del PS.

Para el tercer paso, una vez obtenidos los certificados podemos crear un nuevo TLS context para nuestro PS, es posible añadir mas de un TLS context y de esta manera tener mas de un dominio que apunte hacia nuestro PS.

Hacemos click en “create TLS context” añadimos un nombre y los archivos PEM de certificado y private key o JKS según el tipo de certificado a usar.

Para este ejemplo usamos archivos PEM y si la private key no tiene contraseña se puede dejar vacío el campo.

Como cuarto y último paso solo restaria ir a nuestra aplicación desplegada en runtime manager e ingresar en la sección “ingress” para configurar el public endpoint deseado con el custom domain.

Al aplicar los cambios en nuestra applicación ya deberá ser posible consumirla usando el nuevo public endpoint definido.

Conclusión

A través de los pasos anteriormente descritos podemos obervar como es posible configurar un dominio propio para nuestras APIs Mule, lo cual para cualquier ambiente corporativo es importante ya que en vez de consumir las APIs a través de los public endpoints definidos por Cloudhub podemos usar dominios y subdominios personalizados del tipo “api.dominiodemiempresa/recurso”.

--

--