Del 404 al candado verde: arreglé mi proxy SMS en Rust en GCP con Caddy

Descubre cómo arreglar un proxy SMS en Rust en GCP con Caddy y TLS de Lets Encrypt para obtener HTTPS estable, DNS correcto y un reverse proxy que evita Cloudflare 1003.

19 sept 2025 • 4 min de lectura • Equip Q2BSTUDIO

Inteligencia-Artificial-

Del 404 al candado verde: arreglé mi proxy SMS en Rust en GCP con Caddy

Resumen rápido: mi proxy SMS escrito en Rust funcionaba en https://203.0.113.45:8080 pero al integrarlo con un Cloudflare Worker y el frontend aparecieron errores Cloudflare 1003 y advertencias de navegador por falta de HTTPS. La solución fue poner un nombre DNS ejemplo example-proxy.example.com apuntando a la VM, abrir puertos 80 y 443, poner Caddy como reverse proxy que obtiene un certificado Lets Encrypt automáticamente y dejar que Caddy haga TLS mientras mi app Rust escucha en localhost 127.0.0.1:8080. Resultado: endpoint HTTPS limpio y estable, y una variable de entorno para el Worker SMS_API_URL=https://example-proxy.example.com/sms/send

Por qué escribo esto: construí un proxy SMS en Rust y quiero compartir lo que realmente significan los errores, cómo fluye una petición en la pila web y los pasos prácticos que puedes usar en producción. También es una oportunidad para recordar que en Q2BSTUDIO ofrecemos servicios profesionales de desarrollo, desde aplicaciones a medida y software a medida hasta soluciones cloud y automatización.

Síntomas y su significado: 404 Not Found significa que el origin no tiene una ruta para el path solicitado, es problema del router de tu app. Cloudflare 1003 ocurre cuando intentas acceder a través de IP cruda o con Host header que no coincide; Cloudflare exige un dominio conocido por la zona. Problemas de mixed content aparecen cuando el frontend es HTTPS y la API es HTTP; los navegadores bloquearán o advertirán. Solución: HTTPS en el origen o un reverse proxy que termine TLS.

Paso a paso práctico: 1) Apunta un hostname a tu VM con un A record. 2) Abre puertos 80 y 443 en GCP con comandos gcloud si usas Google Cloud, por ejemplo gcloud compute firewall-rules create allow-http --allow tcp:80 y gcloud compute firewall-rules create allow-https --allow tcp:443 3) Instala Caddy, por ejemplo sudo apt update y sudo apt install -y caddy 4) Crea el archivo /etc/caddy/Caddyfile con el contenido example-proxy.example.com { reverse_proxy 127.0.0.1:8080 } 5) Ejecuta tu binario Rust ligado a 127.0.0.1:8080 para dejar el puerto 8080 privado 6) Prueba con curl -I https://example-proxy.example.com/health o envía una petición POST a https://example-proxy.example.com/sms/send 7) Configura la variable de entorno de tu Worker SMS_API_URL=https://example-proxy.example.com/sms/send y despliega

Qué ocurre en el flujo: DNS resuelve example-proxy.example.com a la IP de la VM. El cliente se conecta a 443 y mediante SNI indica el hostname. Caddy presenta el certificado Lets Encrypt para ese nombre, termina TLS y hace reverse proxy a https://127.0.0.1:8080. La respuesta viaja cifrada hasta el cliente. Beneficios: candado verde, sin mixed content, sin Cloudflare 1003 y una URL estable para el frontend y Workers.

Consejos de seguridad y producción: liga tu servicio Rust a 127.0.0.1, cierra 8080 en el firewall si antes estaba abierto, usa variables de entorno para endpoints y secretos, aplica rate limiting y autenticacion en el endpoint /sms/send, monitoriza logs con journalctl y las bitacoras de la app, y mantén Caddy y el sistema actualizados. Si prefieres alternativas, también puedes usar un balanceador HTTPS gestionado o un Cloudflare Tunnel para evitar abrir puertos.

Preguntas frecuentes rápidas: Si Caddy no obtiene certificado revisa que el DNS apunte bien y que 80 y 443 estén accesibles. Si sigues viendo 404 revisa las rutas de tu router en Rust. Respecto a CORS, si el Worker llama al origin server a server normalmente no necesitas CORS en el origin. En entornos que requieren escala y gestión, considera servicios gestionados en la nube y nosotros en Q2BSTUDIO podemos ayudar con migraciones y arquitectura segura, incluyendo servicios cloud AWS y Azure y soporte para integraciones con inteligencia artificial y soluciones de business intelligence.

Sobre Q2BSTUDIO: somos una empresa de desarrollo de software que crea aplicaciones a medida y soluciones de software a medida, especializada en inteligencia artificial, ia para empresas, agentes IA, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio y power bi. Ofrecemos auditorias de seguridad, pentesting, arquitecturas escalables y desarrollos a medida para empresas que necesitan llevar sus procesos al siguiente nivel.

Palabras clave integradas para SEO: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi.

Checklist final: DNS apuntando al VM, firewall GCP con 80 y 443 abiertos, Caddy instalado y configurado como reverse_proxy a 127.0.0.1:8080, app Rust ligada a 127.0.0.1:8080, pruebas con curl, y Worker apuntando a SMS_API_URL con https. Resultado final: tu proxy SMS en Rust listo para producción con HTTPS y confianza del navegador.

UNA PAUSA?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Intel·ligència artificial

Agents d'IA, chatbots i assistents intel·ligents que automatitzen tasques i atenen els teus clients 24/7 per millorar l'eficiència del teu negoci.

Més info

Desenvolupament de programari

Aplicacions web, mòbils i d'escriptori, intranets, e-commerce, SaaS i plataformes de gestió dissenyades per a les necessitats concretes de la teva empresa.

Més info

Serveis cloud

Migració, infraestructura, hosting gestionat, alta disponibilitat i seguretat en Microsoft Azure i Amazon Web Services perquè el teu negoci escali sense límits.

Més info

Ciberseguretat i pentesting

Auditories de seguretat, test d'intrusió (pentesting) i protecció d'aplicacions, dades i infraestructura on-premise i cloud, amb hacking ètic i compliment normatiu.

Més info

Business Intelligence

Quadres de comandament i anàlisi de dades amb Power BI: integrem les teves fonts, dissenyem dashboards i KPIs i convertim les teves dades en decisions.

Més info

Automatització de processos

Automatitzem tasques repetitives i connectem les teves aplicacions amb n8n, Power Automate, Make i RPA, eliminant treball manual i augmentant la productivitat.

Més info

Formació per a empreses

Formem els teus equips en tecnologia amb criteri: desenvolupament web, bases de dades, Git, bones pràctiques i seguretat, automatització amb n8n, intel·ligència artificial per a empreses i creació de solucions d'IA amb Azure AI Foundry.

Més info

Auditoria de codi

Auditem el codi que creguis tu, el teu equip o una IA: et diem què està bé i què millorar, el securitzem i el deixem llest per a producció, web o app.

Més info

Generació d'imatges amb IA

Creem per tu les imatges que necessita el teu negoci amb intel·ligència artificial: producte, xarxes, publicitat, il·lustració i avatars. Tu ens dius què vols i t'ho lliurem llest per fer servir.

Més info

Generació de vídeos amb IA

Creem per tu vídeos amb intel·ligència artificial: promocionals, per a xarxes, presentadors virtuals, doblatge i animacions. Ens comptes la idea i t'ho lliurem muntat i llest per publicar.

Més info

Avatars conversacionals amb IA

Creem avatars conversacionals amb IA —humans digitals amb cara i veu— que atenen els teus clients i equips amb el coneixement de la teva empresa, a la teva web, monitors interactius, WhatsApp o Teams.

Més info

Màrqueting Online i IA

Google Ads, Meta Ads, LinkedIn Ads i posicionament en motors d'IA (GEO/AEO): captem clients i fem que la teva marca aparegui on et busquen, també a ChatGPT, Gemini i Perplexity.

Més info

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.