IBM Cloud Code Engine es una plataforma sin servidor totalmente gestionada que ejecuta sus cargas de trabajo en contenedores, incluidas aplicaciones web, microservicios, funciones basadas en eventos o trabajos por lotes. Code Engine incluso crea imágenes de contenedores para usted a partir de su código fuente.
Todas estas cargas de trabajo pueden funcionar juntas sin problemas porque están alojadas en la misma infraestructura de Kubernetes. La experiencia de Code Engine está diseñada para que pueda concentrarse en escribir código y no preocuparse por la infraestructura que se necesita para alojarlo.
requisitos previos
Permisos adecuados para utilizar el servicio IBM Cloud Code Engine. Vea aquí cómo administrarlos. Una aplicación que se ejecuta en IBM Cloud Code Engine. Puede implementar la aplicación de prueba desde aquí. Ataque para modificar DNS de un dominio conocido/nombre de host. Si posee un dominio o compró uno, lo más probable es que tenga paso para mandar DNS para ese dominio. En el ejemplo, hemos utilizado IBM Cloud Internet Services que admiten la característica de aplanamiento de CNAME para permitirnos utilizar el dominio raíz. Un certificado TLS/SSL firmado por una autoridad de certificación pública.
En este ejemplo, la aplicación de prueba se implementa en IBM Cloud Code Engine. El nombre de host llamativo se parece a este https://application-27.zx67dfvbl7l.us-south.codeengine.appdomain.cloud/. Expondremos esta aplicación utilizando dos dominios personalizados:
https://ejemplo.org https://codeengine.ejemplo.org
Instrucciones paso a paso
Consulte este documento y los pasos a continuación para crear los certificados TLS para entreambos dominios y utilícelos para exponer esta aplicación de prueba. Puede usar Let’s Encrypt CA como ejemplo para solicitar certificados TLS para estos dominios personalizados. Sin requisa, incluso puede utilizar un certificado TLS de cualquiera de las autoridades de certificación públicas.
Seguiremos estos pasos para ganar nuestros objetivos:
Genere CSR para el certificado TLS y obtenga la firma de CA. Agregue su dominio a la interfaz de heredero de la aplicación Code Engine. Cree un registro CNAME en DNS para su nombre de dominio.
1. Genere CSR para el certificado TLS y consígalo firmado por CA
Para crear un certificado TLS firmado válido de Let’s Encrypt CA, puede usar el cliente Certbot para crear la CSR y obtener la firma de CA. Primero, debe instalar el Certbot siguiendo estas instrucciones.
Utilice el ulterior comando para iniciar el proceso de concepción del certificado:
certbot certonly –manual –preferred-challenges dns –email contact@example.org –server https://acme-v02.api.letsencrypt.org/directory –agree-tos –domain codeengine.example.org certbot certonly –manual –preferred-challenges dns –email contact@example.org –server https://acme-v02.api.letsencrypt.org/directory –agree-tos –domain example.org
Luego, debería pedirte el paso de demostración de propiedad del dominio:
root@jumpbox:~# certbot certonly –manual –preferred-challenges dns –email contact@example.org –server https://acme-v02.api.letsencrypt.org/directory –agree-tos — dominio codeengine.example.org Asegurar el registro de depuración en /var/log/letsencrypt/letsencrypt.log Solicitar un certificado para codeengine.example.org – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – Implemente un registro DNS TXT con el nombre: _acme-challenge.codeengine.example.org con el ulterior valencia: Fq2wbN9mUSfnWZkGXyaEgVaOm-_9RB4cv4zJEp44Sbg Antiguamente de continuar, verifique el registro TXT se ha implementado. Según el proveedor de DNS, esto puede transigir algún tiempo, desde unos segundos hasta varios minutos. Puede realizar si ha terminado de implementarse con la ayuda de herramientas en tendencia, como Google Admin Toolbox: https://toolbox.googleapps.com/apps/dig/#TXT/_acme-challenge.codeengine.example.org. Busque una o más líneas en negrita debajo de la tendencia ‘;RESPUESTA’. Debería mostrar los títulos que acaba de ampliar. – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – Presione Enter para continuar
Agreguemos los registros TXT de demostración para entreambos dominios en el DNS como se muestra a continuación:
codeengine.example.org TXT Fq2wbN9mUSfnWZkGXyaEgVaOm-_9RB4cv4zJEp44Sbg ejemplo.org TXT DfjSDFFDbN9vccdSDnjnkSNSNKx-_9vccdSDnZvccdSDn
Ahora, debe crear un registro TXT con el valencia aludido en los servidores DNS de su dominio. Los servidores DNS para su dominio pueden sobrevenir sido proporcionados por su registrador de dominio o estos pueden estar alojados en otro ocupación. Posteriormente de ampliar este registro DNS, puede verificarlo usando dig o nslookup:
% excavar txt _acme-challenge.codeengine.example.org. +corto “Fq2wbN9mUSfnWZkGXyaEgVaOm-_9RB4cv4zJEp44Sbg”
Posteriormente de presionar Enter o Return, debería ver poco como lo ulterior:
Certificado recibido con éxito. El certificado se guardamano en: /etc/letsencrypt/live/codeengine.example.org/fullchain.pem La esencia se guardamano en: /etc/letsencrypt/live/codeengine.example.org/privkey.pem Este certificado vence el 2023-07- 20 Estos archivos se actualizarán cuando se renueve el certificado. PRÓXIMOS PASOS: – Este certificado no se renovará automáticamente. La renovación cibernética de los certificados –manual requiere el uso de un script de enlace de autenticación (–manual-auth-hook), pero no se proporcionó uno. Para renovar este certificado, repita este mismo comando de certbot antaño de la aniversario de vencimiento del certificado. – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – Si le gusta Certbot, considere apoyar nuestro trabajo por: * Donación a ISRG / Let’s Encrypt: https://letsencrypt.org/donate * Donación a EFF: https://eff.org/donate-le – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
Tienes dos archivos:
/etc/letsencrypt/live/codeengine.example.org/fullchain.pem Este es su certificado TLS con certificados de condena root-ca completos. El contenido debe ser poco como esto: —–BEGIN CERTIFICATE—– MIIFNDCCBBygAwIBAgISBOLyU —— —— —— cRQJMEhg76fsO3txE+FiYruq9RUWhiF1myv4Q6W+CyBFC Dfvp7OOGAN6dEOM4+qR9sdjoSYKEBpsr6GtPAQw4dy753ec5 — –FIN DEL CERTIFICADO—–
/etc/letsencrypt/live/codeengine.example.org/privkey.pem
Esta es la esencia privada para su certificado TLS. El contenido del archivo de esencia privada debe ser poco como lo ulterior: —–BEGIN PRIVATE KEY—– MIIEvwIBADANBgkqhkiG9w0BAQEF —— —— —— BAZQ4dZS/TXFRMQcgNL3nWGk42YSOYAjqJNceX6rQMSoxDiCdb6e+ + pT6jcKsENz88M3dpNQNi1OSUQ== —–FIN CLAVE PRIVADA—–
2. Agregue su dominio a la interfaz de heredero de la aplicación Code Engine
Entregado que tiene el certificado y la esencia TLS disponibles, ahora puede ampliar el dominio personalizado a la aplicación IBM Cloud Code Engine desde la consola de IBM Cloud.
Vaya aquí y siga Proyectos > Nombre de su tesina > Aplicaciones > Nombre de la aplicación > pestaña Asignaciones de dominio Seleccione la aplicación para la que desea usar un dominio personalizado. Seleccione Asignaciones de dominio en el menú de la mostrador superior. Aquí, debe hacer clic en el retoño cerúleo llamado Crear en la sección titulada Asignaciones de dominio personalizadas. Debería desahogarse un nuevo asistente de configuración como la captura de pantalla aludido. Debe pegar el contenido del archivo fullchain.pem en el cuadro de texto titulado Condena de certificados y el archivo privkey.pem en el cuadro de texto titulado Secreto privada. En la sección titulada Nombre de dominio y aplicación de destino, escriba el nombre de host del dominio personalizado positivo: Nombre de dominio: escriba “example.org” en este campo de texto editable. Destino CNAME: debe sobrevenir texto predefinido, que necesitamos para crear un registro CNAME para este nombre de dominio. ejemplo.org CNAME personalizado.zx67dfvbl7l.us-south.codeengine.appdomain.cloud codeengine.example.org CNAME personalizado. zx67dfvbl7l.us-south.codeengine.appdomain.cloud
3. Cree un registro CNAME en DNS para su nombre de dominio
Este es un paso importante. Vamos a crear un registro CNAME en los servidores DNS de su dominio apuntando al valencia del cuadro de destino CNAME.
Una vez que haya creado el registro CNAME, continúe seleccionando el retoño Crear para terminar de crear la asignación de nombre de dominio personalizada. Esto debería tomar unos minutos para estar completamente activado en el sistema.
Si desea utilizar su dominio raíz (example.org) en ocupación de un subdominio como codeengine.example.org, es posible que desee utilizar la característica de simplificación de CNAME de IBM Cloud Internet Services. Para obtener más detalles, consulte los enlaces a continuación.
Si todo va proporcionadamente, debería poder penetrar a su aplicación usando su dominio personalizado:
% curl -k https://example.org Hola mundo de: . ___ __ ____ ____ ./ __)/ ( ( __) ( (__( O )) D ( ) _) .___)__/(____/(____) .____ __ _ ___ __ __ _ ____ ( __)( ( / __)( )( ( ( __) .) _) / /( (_ )( / / ) _) (____)_)__) ___/(__)_) __)(____) Algunos Env Vars: ————– CE_APP=application-27 CE_DOMAIN=us-south.codeengine.appdomain.cloud CE_SUBDOMAIN=z87ya4p4l7l HOME=/root HOSTNAME=application- 27-00004-implementación-6fff67f786-f82qm K_REVISION=aplicación-27-00004 RUTA=/usr/locorregional/sbin:/usr/locorregional/bin:/usr/sbin:/usr/bin:/sbin:/bin PUERTO=8080 PWD=/ SHLVL=1 z=Establecer env var ‘MOSTRAR’ para ver todas las variables
Felicitaciones, hemos expuesto con éxito nuestra aplicación IBM Cloud Code Engine a través de dominios personalizados.
Aprende más
Para obtener más información sobre los servicios de IBM Cloud relacionados, consulte los enlaces a continuación.
Comience con IBM Cloud Code Engine https://www.ibm.com/cloud/code-engine
Comience con IBM Cloud Code Engine