Jenkins en EC2 con dominio propio, Nginx y SSL

Guía paso a paso para desplegar Jenkins en AWS EC2, exponerlo con Nginx como reverse proxy y asegurar con TLS mediante Certbot. Incluye configuración de dominio, buenas prácticas de seguridad y servicios de Q2BSTUDIO.

19 ago 2025 • 4 min de lectura • Equipo Q2BSTUDIO

Inteligencia-Artificial-

Hola lector, en este artículo explicamos paso a paso cómo desplegar Jenkins en una instancia AWS EC2 y exponerlo en un dominio personalizado usando Nginx como reverse proxy y asegurarlo con SSL. Al final tendrás Jenkins accesible desde tu dominio y protegido con certificado TLS, ideal si necesitas integrar soluciones de aplicaciones a medida y software a medida ofrecidas por Q2BSTUDIO.

Sobre Q2BSTUDIO: somos una empresa de desarrollo de software especializada en aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad y servicios cloud aws y azure. Ofrecemos servicios de inteligencia de negocio, ia para empresas, agentes IA y soluciones con power bi para mejorar la toma de decisiones. Podemos ayudarte a desplegar y asegurar infraestructuras como la descrita en este tutorial.

Requisitos previos: una cuenta AWS, un dominio propio, conocimientos básicos de terminal Linux y una key pair para el acceso a la instancia EC2.

Paso 1 Lanzar una instancia EC2: desde la consola EC2 crea una nueva instancia seleccionando el AMI y el tipo de instancia que necesites. Asegúrate de generar o usar una key pair para SSH y de configurar el security group para permitir tráfico entrante por los puertos 22 80 443 y por el puerto 8080 mientras instalas Jenkins.

Conéctate a la instancia vía SSH y prepara el sistema. Instala Java y luego Jenkins siguiendo la documentación oficial de Jenkins. Por ejemplo en Ubuntu puedes ejecutar los comandos para instalar Java y Jenkins y luego habilitar el servicio: sudo apt update && sudo apt install openjdk-11-jre -y sudo apt install gnupg2 curl -y Agregar el repositorio e instalar Jenkins según la guía oficial y finalmente sudo systemctl enable jenkins && sudo systemctl start jenkins. Jenkins por defecto escuchará en el puerto 8080.

Paso 2 Configurar el dominio: en el panel del registrador de dominios añade registros A apuntando a la IP pública de tu instancia EC2 para tudominio.com y para www.tudominio.com. Espera a la propagación DNS; puedes comprobar con herramientas como dig o nslookup. Esto hará que tu dominio apunte a la instancia EC2 donde correrá Jenkins.

Paso 3 Instalar y configurar Nginx: instala Nginx en la instancia con sudo apt install nginx -y. Configura Nginx como reverse proxy para reenviar peticiones HTTPS hacia Jenkins en localhost 8080. Crea un archivo de configuración en sites-available por ejemplo yourdomain.com con el siguiente bloque de servidor y luego habilítalo enlazándolo en sites-enabled.

Ejemplo de bloque de Nginx para proxy: server { listen 80; server_name yourdomain.com www.yourdomain.com; location / { proxy_pass https://localhost:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }

Habilita la configuración y recarga Nginx con sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled sudo nginx -t sudo systemctl reload nginx. El uso de sites-available y sites-enabled facilita gestionar múltiples sitios en el mismo servidor.

Paso 4 Asegurar el dominio con Certbot y SSL: instala certbot y el plugin de Nginx con sudo apt install certbot python3-certbot-nginx -y. Solicita el certificado TLS para tudominio.com y www.tudominio.com ejecutando sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com y sigue las indicaciones para configurar la renovación automática. Con esto Nginx servirá tu tráfico en HTTPS y lo proxyfiera a Jenkins en HTTP interno.

Comprobación final: accede desde el navegador a https://tudominio.com y deberías ver la interfaz de Jenkins disponible y con certificado TLS válido. Revisa los logs de Nginx y Jenkins si hay problemas y asegúrate de que el security group de AWS permite el tráfico HTTPS.

Buenas prácticas de seguridad y operativa: usa roles y políticas IAM restrictivas para la instancia si accede a otros servicios AWS, aplica actualizaciones regulares del sistema y Jenkins, activa autenticación fuerte y controles en Jenkins, y considera integrar soluciones de ciberseguridad gestionadas por Q2BSTUDIO para proteger pipelines de CI CD y secretos. Para entornos productivos recomendamos emplear balanceadores, certificados gestionados por servicios cloud aws y azure, y monitorización centralizada.

Servicios adicionales que ofrece Q2BSTUDIO: implementamos soluciones completas que van desde la creación de aplicaciones a medida y software a medida hasta la integración de inteligencia artificial y agentes IA, proyectos de servicios inteligencia de negocio con power bi, y arquitecturas seguras en la nube con servicios cloud aws y azure. Si necesitas ia para empresas o consultoría en ciberseguridad podemos acompañarte desde el diseño hasta la operación.

Resumen: en este tutorial hemos mostrado cómo desplegar Jenkins en EC2, apuntar un dominio a la instancia, configurar Nginx como reverse proxy y asegurar la conexión con Certbot y SSL. Si prefieres que Q2BSTUDIO implemente este flujo por ti o lo amplíe con pipelines, integración con agentes IA, monitorización y hardening de seguridad, contacta con nuestro equipo para una propuesta personalizada.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.