[{"data":1,"prerenderedAt":1038},["ShallowReactive",2],{"blog-es-\u002Fes\u002Fblog\u002Fcloudflare-frente-a-cluster-auto-hospedado":3,"blog-es-surround-\u002Fes\u002Fblog\u002Fcloudflare-frente-a-cluster-auto-hospedado":1023},{"id":4,"title":5,"author":6,"body":7,"category":1004,"cover":1005,"date":1006,"description":1007,"draft":1008,"extension":1009,"lastReviewed":1005,"meta":1010,"navigation":1011,"path":1012,"readingTime":1013,"seo":1014,"sitemap":1015,"stem":1016,"tags":1017,"__hash__":1022},"blog_es\u002Fes\u002Fblog\u002Fcloudflare-frente-a-cluster-auto-hospedado.md","CloudFlare frente al cluster auto-hospedado: ¿vale la pena en 2026?","Equipo HeroCtl",{"type":8,"value":9,"toc":981},"minimark",[10,14,19,22,25,28,32,35,94,97,101,104,256,259,263,266,272,278,286,289,293,296,322,329,332,352,356,359,397,400,404,407,482,501,505,508,514,520,526,532,536,539,559,562,566,771,774,778,781,801,805,808,812,818,822,825,829,832,869,872,876,879,883,886,890,897,901,904,908,911,914,947,950,953,974,977],[11,12,13],"p",{},"La pregunta vuelve cada semana en un grupo de DevOps: \"subí mi cluster con tres servidores en DigitalOcean, ¿vale poner CloudFlare al frente?\". La respuesta corta es \"casi siempre sí\" — pero el \"casi\" carga trade-offs que nadie menciona hasta la primera vez que algo se rompe en producción y pasas dos horas depurando una regla de caché que enmascaró un 500 del app. Este post es la versión larga, con criterios mensurables, de la decisión que necesitas tomar antes de mover el nameserver.",[15,16,18],"h2",{"id":17},"tldr-el-resumen-de-200-palabras","TL;DR — el resumen de 200 palabras",[11,20,21],{},"CloudFlare gratis se volvió estándar de hecho para cualquier site con tráfico: protege contra DDoS sin límite contractual, emite certificado SSL automático, cachea assets en más de 300 ciudades, esconde la IP de origen del servidor y aún entrega DNS con sub-10ms. Para cluster auto-hospedado — sea HeroCtl, Coolify, k3s o Docker Swarm — poner CloudFlare al frente es decisión fácil en cerca de 90% de los casos.",[11,23,24],{},"El 10% restante tiene trade-offs concretos: latencia adicional de 10 a 30ms en rutas dinámicas, TLS termina en CloudFlare por defecto (ya no es punta-a-punta hasta tu servidor), reglas de caché pueden enmascarar bugs sutiles en el app, y el lock-in crece conforme adoptas Workers, R2 y Pages.",[11,26,27],{},"Vale la pena cuando: quieres DDoS protection sin pagar; caché global para reducir coste de banda; esconder la IP del servidor de scanners. No vale cuando: cumplimiento financiero\u002Fsalud exige TLS verdaderamente punta-a-punta; necesitas p99 por debajo de 50ms en rutas dinámicas; el cluster ya tiene CDN edge interna en múltiples data centers. Cluster con router integrado ya cubre cerca de 60% de lo que CloudFlare ofrece — combinar los dos es el camino más común.",[15,29,31],{"id":30},"que-ofrece-cloudflare-gratis-en-2026","¿Qué ofrece CloudFlare gratis en 2026?",[11,33,34],{},"La oferta gratuita aumentó de tamaño año a año. Hoy, el plan gratis cubre lo que era plan pagado de 2019:",[36,37,38,46,52,58,64,70,76,82,88],"ul",{},[39,40,41,45],"li",{},[42,43,44],"strong",{},"DDoS protection sin límite contractual"," — Layer 3, 4 y 7. CloudFlare absorbe ataques de cientos de Gbps sin cobrar excedente.",[39,47,48,51],{},[42,49,50],{},"Certificado SSL\u002FTLS automático"," — emitido en minutos por el propio CloudFlare, renovado automáticamente. Wildcard requiere plan Advanced Certificate Manager (US$ 10\u002Fmes).",[39,53,54,57],{},[42,55,56],{},"CDN global"," — más de 300 ciudades en más de 120 países. Incluye São Paulo, Río, Fortaleza, Curitiba y Porto Alegre.",[39,59,60,63],{},[42,61,62],{},"DNS authoritative"," — sub-10ms global medio, anycast, con APIs para automatización.",[39,65,66,69],{},[42,67,68],{},"Bot protection básica"," — bloqueo de bots conocidos y desafíos JavaScript en tráfico sospechoso.",[39,71,72,75],{},[42,73,74],{},"Caché de assets estáticos"," — extensiones reconocidas (CSS, JS, imágenes, fuentes) cacheadas por defecto.",[39,77,78,81],{},[42,79,80],{},"Page Rules"," — tres reglas gratis para forzar HTTPS, caché extra, redirects.",[39,83,84,87],{},[42,85,86],{},"Always Online"," — cuando el origen cae, CloudFlare sirve la última versión cacheada.",[39,89,90,93],{},[42,91,92],{},"Web Analytics"," — métricas de RUM (visitas, países, navegadores), sin cookies.",[11,95,96],{},"La línea de corte es generosa lo suficiente para que un site de 10 mil visitantes\u002Fdía corra 100% en el gratis sin ningún problema operacional.",[15,98,100],{"id":99},"y-que-cobra-cloudflare-extra","¿Y qué cobra CloudFlare extra?",[11,102,103],{},"Cuatro planes: Free, Pro (US$ 25\u002Fmes por dominio), Business (US$ 250\u002Fmes por dominio) y Enterprise (bajo consulta, en general por encima de US$ 5 mil\u002Fmes).",[105,106,107,129],"table",{},[108,109,110],"thead",{},[111,112,113,117,120,123,126],"tr",{},[114,115,116],"th",{},"Recurso",[114,118,119],{},"Free",[114,121,122],{},"Pro US$ 25",[114,124,125],{},"Business US$ 250",[114,127,128],{},"Enterprise",[130,131,132,150,165,178,192,209,222,239],"tbody",{},[111,133,134,138,141,144,147],{},[135,136,137],"td",{},"WAF managed rulesets",[135,139,140],{},"No",[135,142,143],{},"Sí (OWASP básico)",[135,145,146],{},"Sí (avanzado)",[135,148,149],{},"Custom",[111,151,152,155,157,160,163],{},[135,153,154],{},"Image Resizing",[135,156,140],{},[135,158,159],{},"Sí (US$ 5\u002FM)",[135,161,162],{},"Sí",[135,164,162],{},[111,166,167,170,172,174,176],{},[135,168,169],{},"Polish (optimización de imagen)",[135,171,140],{},[135,173,162],{},[135,175,162],{},[135,177,162],{},[111,179,180,183,185,188,190],{},[135,181,182],{},"Argo Smart Routing",[135,184,140],{},[135,186,187],{},"US$ 5\u002Fmes add-on",[135,189,162],{},[135,191,162],{},[111,193,194,197,200,203,206],{},[135,195,196],{},"Page Rules incluidas",[135,198,199],{},"3",[135,201,202],{},"20",[135,204,205],{},"50",[135,207,208],{},"125+",[111,210,211,214,216,218,220],{},[135,212,213],{},"Cache Reserve",[135,215,140],{},[135,217,140],{},[135,219,162],{},[135,221,162],{},[111,223,224,227,230,233,236],{},[135,225,226],{},"Customer Support SLA",[135,228,229],{},"Best-effort",[135,231,232],{},"24h",[135,234,235],{},"Chat 24\u002F7",[135,237,238],{},"Ingeniero dedicado",[111,240,241,244,247,250,253],{},[135,242,243],{},"Análisis de logs",[135,245,246],{},"Última hora",[135,248,249],{},"Últimas 24h",[135,251,252],{},"Últimos 7 días",[135,254,255],{},"30 días",[11,257,258],{},"Workers y R2 tienen tier gratuito independiente del plan: 100 mil peticiones\u002Fdía para Workers, 10 GB de almacenamiento y 1 millón de operaciones Class A\u002Fmes para R2. Para un site marketing modesto, da para correr storage de imágenes en el R2 sin nunca llegar a la factura.",[15,260,262],{"id":261},"cloudflare-anade-latencia","¿CloudFlare añade latencia?",[11,264,265],{},"La pregunta honesta. Respuesta también honesta: depende de la ruta.",[11,267,268,271],{},[42,269,270],{},"Para rutas con caché"," (HTML estático, assets, imágenes optimizadas), CloudFlare reduce latencia. El usuario en Recife toma el contenido del POP de Fortaleza o São Paulo en 15 a 40ms, en vez de hacer round-trip hasta tu servidor en New Jersey o Frankfurt. Ahorro típico: 150 a 250ms por request.",[11,273,274,277],{},[42,275,276],{},"Para rutas dinámicas"," (API, dashboard logado, checkout), el tráfico pasa por el proxy de CloudFlare antes de llegar a tu servidor. Eso añade entre 10 y 30ms en condiciones normales. El número exacto depende de cuál POP el usuario está conectado y dónde está el servidor de origen.",[11,279,280,281,285],{},"Medimos en el cluster público en producción: la media de tiempo de respuesta de ",[282,283,284],"code",{},"manage.heroctl.com\u002Fv1\u002Fnodes"," es de 38ms sin proxy CloudFlare y 51ms con proxy activado, requiriendo del mismo notebook en São Paulo. Un delta de 13ms — perceptible en benchmark, invisible para humano.",[11,287,288],{},"La latencia solo es dealbreaker en tres escenarios reales: juegos online, subasta financiera de alta frecuencia, y cargas WebSocket de baja latencia (trading, colaboración en vivo). Para el resto, los 13ms desaparecen en el tiempo de render del navegador.",[15,290,292],{"id":291},"cloudflare-rompe-tls-punta-a-punta","¿CloudFlare rompe TLS punta-a-punta?",[11,294,295],{},"Por defecto, sí. Mira los modos:",[36,297,298,304,310,316],{},[39,299,300,303],{},[42,301,302],{},"Flexible"," (NUNCA uses esto) — TLS solo entre cliente y CloudFlare. Conexión CloudFlare → servidor es HTTP puro. Vulnerable a interceptación en la pierna interna.",[39,305,306,309],{},[42,307,308],{},"Full"," — TLS entre cliente y CloudFlare, y separadamente entre CloudFlare y servidor. Pero CloudFlare acepta certificado inválido\u002Fauto-firmado en el servidor. Riesgo de man-in-the-middle entre CloudFlare y el origen.",[39,311,312,315],{},[42,313,314],{},"Full (strict)"," — TLS en ambas piernas, y CloudFlare exige certificado válido en el origen. Esta es la configuración mínima razonable.",[39,317,318,321],{},[42,319,320],{},"Strict (SSL-Only Origin Pull)"," — CloudFlare verifica que el certificado del origen fue emitido por una CA pública y válida para el hostname. Más seguro que Full strict.",[11,323,324,325,328],{},"En todos esos modos, ",[42,326,327],{},"CloudFlare descifra el tráfico en el medio del camino",". Ven cuerpo de request, headers, cookies — todo. Para la mayoría de los casos eso es aceptable (el contrato con CloudFlare es claro), pero en cumplimiento estricto (salud, financiero, gobierno) puede romper requisito de auditoría.",[11,330,331],{},"La salida real para punta-a-punta:",[36,333,334,340,346],{},[39,335,336,339],{},[42,337,338],{},"Authenticated Origin Pulls"," — CloudFlare presenta un certificado cliente cuando conecta a tu origen; el servidor solo acepta conexiones de esa cadena. Sigue descifrando en el medio, pero al menos solo CloudFlare consigue llegar a tu origen.",[39,341,342,345],{},[42,343,344],{},"CloudFlare Tunnel + cliente mTLS en la punta"," — para apps internas, Tunnel sustituye IP público y exige certificado de cliente.",[39,347,348,351],{},[42,349,350],{},"Gray cloud (DNS only)"," — desactiva el proxy. Pierdes DDoS protection, caché, WAF — pero ganas conexión directa cliente-servidor con TLS verdaderamente punta-a-punta. Es una opción válida cuando cumplimiento manda.",[15,353,355],{"id":354},"voy-a-quedar-lock-in-con-cloudflare","¿Voy a quedar lock-in con CloudFlare?",[11,357,358],{},"Depende exclusivamente de qué features adoptas. Vamos por capa:",[36,360,361,367,373,379,385,391],{},[39,362,363,366],{},[42,364,365],{},"DNS"," — trivialmente reversible. Mover nameserver toma 24 a 48h de propagación y nada se rompe. Lock-in cero.",[39,368,369,372],{},[42,370,371],{},"Proxy + caché + WAF"," — reversible en horas. Desactivas el orange cloud, ajustas DNS para apuntar directo al servidor, reconfiguras WAF en tu origen (si la hay). Lock-in bajo.",[39,374,375,378],{},[42,376,377],{},"Workers"," — lock-in real. La API de Workers es propietaria; reescribir para Lambda@Edge o Fastly Compute@Edge cuesta de días a semanas dependiendo del código. No es el peor caso, pero cuenta con re-trabajo.",[39,380,381,384],{},[42,382,383],{},"R2 Object Storage"," — API compatible con S3, así que código sigue funcionando. Pero R2 no cobra egress (S3 cobra US$ 0,09\u002FGB), entonces mover a otro proveedor encarece la cuenta. Lock-in económico, no técnico.",[39,386,387,390],{},[42,388,389],{},"Pages"," — lock-in moderado. Build process es custom; rewrite para Vercel\u002FNetlify\u002Fstatic host genérico toma una tarde, pero exige.",[39,392,393,396],{},[42,394,395],{},"Zero Trust"," — lock-in alto. Políticas, identidad, túneles: rewrite completo para Tailscale\u002FTwingate\u002Fequivalente.",[11,398,399],{},"La recomendación operacional es: usa el core CloudFlare (DNS + proxy + WAF + Page Rules) sin titubear — puedes revertir en un día. Adopta Workers\u002FR2\u002FPages solo con consciencia clara de que estás aceptando lock-in proporcional al valor que aquella feature entrega.",[15,401,403],{"id":402},"configuracion-minima-recomendada-para-cluster-auto-hospedado","Configuración mínima recomendada para cluster auto-hospedado",[11,405,406],{},"Secuencia práctica, sin secreto:",[408,409,410,416,426,436,442,448,454,464,470,476],"ol",{},[39,411,412,415],{},[42,413,414],{},"Crea cuenta en CloudFlare"," y añade el dominio. El site va a escanear tus DNS records actuales y copiarlos a la nueva zona.",[39,417,418,421,422,425],{},[42,419,420],{},"Cambia los nameservers"," en el registrar (Hostinger, Registro.br, GoDaddy, donde quiera que esté). Espera de 4 a 48 horas por la propagación. Verifica con ",[282,423,424],{},"dig NS heroctl.com +short",".",[39,427,428,431,432,435],{},[42,429,430],{},"DNS records del cluster",": crea un registro A para el dominio raíz apuntando al IP del servidor que recibe tráfico, y un registro A wildcard ",[282,433,434],{},"*"," apuntando al mismo IP. Marca ambos con proxy activado (orange cloud).",[39,437,438,441],{},[42,439,440],{},"SSL\u002FTLS mode",": configura Full (strict). Eso exige que el cluster tenga un certificado válido. El router integrado de HeroCtl emite Let's Encrypt automáticamente — funciona out-of-the-box.",[39,443,444,447],{},[42,445,446],{},"Always Use HTTPS",": ON. Redirige cualquier HTTP a HTTPS en el borde.",[39,449,450,453],{},[42,451,452],{},"HSTS",": 6 meses, include subdomains, sin preload por ahora. Preload es decisión definitiva — no se puede deshacer rápido si algo se rompe.",[39,455,456,459,460,463],{},[42,457,458],{},"Page Rule de caché"," para assets estáticos: ",[282,461,462],{},"*heroctl.com\u002Fstatic\u002F*"," → Cache Level: Cache Everything, Edge Cache TTL: 1 mes.",[39,465,466,469],{},[42,467,468],{},"WAF managed ruleset"," (Pro+): activa el CloudFlare Managed Ruleset y el OWASP Core Rule Set en modo Block para reglas de score alto.",[39,471,472,475],{},[42,473,474],{},"Security Level",": Medium. Low deja pasar bot demasiado; High desafía gente legítima.",[39,477,478,481],{},[42,479,480],{},"Bot Fight Mode",": ON en el plan gratis. Controla scrapers básicos sin pedir CAPTCHA al humano.",[11,483,484,485,488,489,492,493,496,497,500],{},"Después de aplicar todo eso, corre ",[282,486,487],{},"curl -I https:\u002F\u002Ftudominio.com"," y confirma: header ",[282,490,491],{},"cf-ray"," presente, header ",[282,494,495],{},"server: cloudflare",", header ",[282,498,499],{},"strict-transport-security"," con max-age largo.",[15,502,504],{"id":503},"cuando-no-vale-cloudflare","¿Cuándo NO vale CloudFlare?",[11,506,507],{},"Cuatro escenarios donde la recomendación cambia. Importan más de lo que parecen.",[11,509,510,513],{},[42,511,512],{},"Cluster con CDN\u002Fedge interna robusta."," Si ya corres en cuatro o cinco regiones geográficamente esparcidas, con balanceo DNS por proximidad y caché local en cada región, la CDN de CloudFlare añade latencia sin ganancia. Vale correr gray cloud (solo DNS) y mantener el resto directo.",[11,515,516,519],{},[42,517,518],{},"Cumplimiento financiero o de salud con mTLS punta-a-punta obligatorio."," La LGPD por sí sola no exige eso; pero auditorías específicas (PCI-DSS Level 1 con requisitos custom, certificaciones HIPAA estrictas, frameworks bancarios) pueden exigir que tráfico cifrado nunca sea descifrado en tercero. Como CloudFlare descifra en el medio del camino, no pasa.",[11,521,522,525],{},[42,523,524],{},"Apps puramente internas (intranet\u002FSaaS B2B cerrado)."," CloudFlare Free no cubre Zero Trust avanzado. Para app que sirve exclusivamente a empleados, Tailscale o WireGuard nativo entregan más con menos.",[11,527,528,531],{},[42,529,530],{},"Sites pequeños sin tráfico y sin enemigo público."," Blog personal de 200 visitas\u002Fmes, sin formulario de pago, sin datos sensibles. DNS directo en Hostinger\u002FRegistro.br + Let's Encrypt del router integrado sirve perfectamente. Añadir CloudFlare es ceremonia innecesaria.",[15,533,535],{"id":534},"como-cloudflare-interactua-con-cluster-de-alta-disponibilidad","¿Cómo CloudFlare interactúa con cluster de alta disponibilidad?",[11,537,538],{},"Aquí el diseño importa. Cluster con tres o más nodos sirve tráfico en todos ellos — no tiene nodo \"principal\" único. La configuración pragmática es:",[36,540,541,547,553],{},[39,542,543,546],{},[42,544,545],{},"DNS round-robin con salud",": registra A records para el IP de todos los nodos que corren el router. CloudFlare hace health check (Pro+) y remueve nodo roto de la rotación automáticamente.",[39,548,549,552],{},[42,550,551],{},"Failover de CloudFlare",": ~30 segundos para detectar nodo muerto y sacarlo de la rotación (configurable hasta 5 segundos en el Enterprise).",[39,554,555,558],{},[42,556,557],{},"Failover interno del cluster",": el router integrado de HeroCtl re-enruta tráfico entre nodos saludables en cerca de 5 segundos. Elección de nuevo coordinador ocurre en ~7 segundos cuando el nodo-líder cae.",[11,560,561],{},"Combinado, downtime real percibido por el usuario queda por debajo de 40 segundos en el peor caso (CloudFlare detecta + cluster reacciona). Sin CloudFlare, queda en ~7 segundos (cluster solo). Con CloudFlare y configuración de monitorización agresiva (Pro+), vuelve a ~10 segundos. La elección es clara: si no necesitas DDoS protection, el cluster solo ya es más rápido. Si necesitas, CloudFlare añade 30s de detección a cambio de protección contra ataque.",[15,563,565],{"id":564},"tabla-comparativa-12-criterios-de-decision","Tabla comparativa: 12 criterios de decisión",[105,567,568,587],{},[108,569,570],{},[111,571,572,575,578,581,584],{},[114,573,574],{},"Criterio",[114,576,577],{},"Sin CloudFlare",[114,579,580],{},"CF Free",[114,582,583],{},"CF Pro US$ 25",[114,585,586],{},"CF Business US$ 250",[130,588,589,605,622,639,655,668,683,698,713,726,738,754],{},[111,590,591,594,597,600,602],{},[135,592,593],{},"DDoS Layer 3\u002F4",[135,595,596],{},"Te las arreglas",[135,598,599],{},"Ilimitado",[135,601,599],{},[135,603,604],{},"Ilimitado + SLA",[111,606,607,610,613,616,619],{},[135,608,609],{},"DDoS Layer 7",[135,611,612],{},"No tiene",[135,614,615],{},"Básico",[135,617,618],{},"Avanzado",[135,620,621],{},"Avanzado + Custom Rules",[111,623,624,627,630,633,636],{},[135,625,626],{},"Latencia adicional en rutas dinámicas",[135,628,629],{},"0ms",[135,631,632],{},"+13 a 30ms",[135,634,635],{},"+10 a 25ms (Argo opcional)",[135,637,638],{},"+5 a 15ms (Argo incluido)",[111,640,641,644,647,650,652],{},[135,642,643],{},"Caché global de estáticos",[135,645,646],{},"Lo montas",[135,648,649],{},"300+ ciudades",[135,651,649],{},[135,653,654],{},"300+ ciudades + Reserve",[111,656,657,660,662,664,666],{},[135,658,659],{},"Esconde IP del servidor",[135,661,140],{},[135,663,162],{},[135,665,162],{},[135,667,162],{},[111,669,670,673,675,678,680],{},[135,671,672],{},"TLS punta-a-punta verdadero",[135,674,162],{},[135,676,677],{},"No (descifra)",[135,679,140],{},[135,681,682],{},"No (pero Origin Pulls)",[111,684,685,688,690,692,695],{},[135,686,687],{},"WAF managed",[135,689,612],{},[135,691,140],{},[135,693,694],{},"OWASP básico",[135,696,697],{},"OWASP avanzado",[111,699,700,703,705,707,710],{},[135,701,702],{},"Bot protection",[135,704,646],{},[135,706,480],{},[135,708,709],{},"Super Bot Fight",[135,711,712],{},"Bot Management ML",[111,714,715,717,720,722,724],{},[135,716,80],{},[135,718,719],{},"N\u002FA",[135,721,199],{},[135,723,202],{},[135,725,205],{},[111,727,728,730,732,734,736],{},[135,729,86],{},[135,731,140],{},[135,733,162],{},[135,735,162],{},[135,737,162],{},[111,739,740,743,746,748,751],{},[135,741,742],{},"Coste mensual por dominio",[135,744,745],{},"US$ 0",[135,747,745],{},[135,749,750],{},"US$ 25",[135,752,753],{},"US$ 250",[111,755,756,759,762,765,768],{},[135,757,758],{},"Lock-in proporcional",[135,760,761],{},"Cero",[135,763,764],{},"Bajo (DNS+proxy)",[135,766,767],{},"Bajo a medio",[135,769,770],{},"Medio (Workers\u002FR2 empiezan a entrar)",[11,772,773],{},"La línea que decide para la mayoría es \"DDoS Layer 7 + esconde IP\". Esos dos solos justifican el plan gratis. Las líneas pagadas solo tienen sentido con tráfico voluminoso o requisito formal de WAF.",[15,775,777],{"id":776},"cloudflare-gratis-tiene-limite-de-trafico","¿CloudFlare gratis tiene límite de tráfico?",[11,779,780],{},"No hay límite contractual de banda en el plan gratis para tráfico web normal a través del proxy. Pero existen tres límites prácticos que vale mencionar:",[36,782,783,789,795],{},[39,784,785,788],{},[42,786,787],{},"Section 2.8 de los Terms of Service",": el plan gratis es para sites cuyo contenido principal es HTML, y CloudFlare se reserva el derecho de pedir upgrade si usas el servicio primariamente para servir vídeo o archivos grandes. En la práctica, raramente accionan — pero si te vuelves un host de vídeos pirateados de 50TB\u002Fmes, espera recibir email.",[39,790,791,794],{},[42,792,793],{},"Workers gratis",": 100 mil peticiones\u002Fdía. Por encima de eso, Workers Paid (US$ 5\u002Fmes) con 10M peticiones incluidas.",[39,796,797,800],{},[42,798,799],{},"R2 gratis",": 10GB de almacenamiento, 1M Class A operations\u002Fmes, 10M Class B operations\u002Fmes. Por encima, US$ 0,015\u002FGB-mes.",[15,802,804],{"id":803},"puedo-usar-cloudflare-dns-sin-el-proxy","¿Puedo usar CloudFlare DNS sin el proxy?",[11,806,807],{},"Sí — modo \"DNS only\" (gray cloud). Usas el DNS de CloudFlare (rápido, free, anycast global) pero tráfico va directo a tu servidor sin pasar por el proxy. Pierdes DDoS, caché, WAF, IP hiding — mantienes solo la infraestructura DNS. Útil cuando: cumplimiento prohíbe descifrado en tercero; solo quieres DNS rápido sin tocar el path del tráfico; estás probando antes de activar el proxy.",[15,809,811],{"id":810},"waf-gratis-bloquea-sql-injection","¿WAF gratis bloquea SQL injection?",[11,813,814,815,817],{},"CloudFlare Free tiene ",[42,816,480],{}," y reglas automáticas de mitigación para patrones obvios, pero no tiene el Managed Ruleset OWASP completo. Para bloqueo confiable de SQL injection, XSS, RCE patterns conocidos, necesitas el plan Pro o superior. Alternativa: correr ModSecurity o WAF propio en tu origen — funciona, pero añade CPU y configuración.",[15,819,821],{"id":820},"cloudflare-tiene-datacenter-en-brasil","¿CloudFlare tiene datacenter en Brasil?",[11,823,824],{},"Sí. En 2026 son cinco POPs brasileños: São Paulo (dos POPs), Río de Janeiro, Fortaleza, Curitiba y Porto Alegre. Latencia típica de cualquier ciudad del Sudeste a un POP queda por debajo de 20ms. El POP de Fortaleza atiende muy bien el Nordeste por causa de los cables submarinos que aterrizan ahí (EllaLink, Monet, GlobeNet). Para el Norte, aún es camino más largo — Manaus llega a Fortaleza en 80 a 120ms.",[15,826,828],{"id":827},"como-migrar-nameservers-de-hostinger-a-cloudflare","¿Cómo migrar nameservers de Hostinger a CloudFlare?",[11,830,831],{},"Cuatro pasos. Tarda menos de una hora activa, más hasta 48h de propagación:",[408,833,834,840,853,859],{},[39,835,836,839],{},[42,837,838],{},"CloudFlare",": añade el dominio. El wizard escanea tus DNS actuales y crea los records correspondientes en la nueva zona. Confirma que copió todo — MX, TXT (SPF\u002FDKIM\u002FDMARC), CNAME, A. Errores de copia aquí causan email derribado por una semana.",[39,841,842,844,845,848,849,852],{},[42,843,838],{},": te da dos nameservers (algo como ",[282,846,847],{},"kim.ns.cloudflare.com"," y ",[282,850,851],{},"walt.ns.cloudflare.com","). Anota.",[39,854,855,858],{},[42,856,857],{},"Hostinger",": panel → Dominios → tu dominio → Nameservers → \"Use custom nameservers\" → pega los dos de CloudFlare. Guarda.",[39,860,861,864,865,868],{},[42,862,863],{},"Aguarda propagación",". Verifica con ",[282,866,867],{},"dig NS tudominio.com +short",". Cuando aparezcan los nameservers de CloudFlare, el dominio está bajo gestión de ellos. Records DNS siguen siendo editados en el panel de CloudFlare de ahí en adelante.",[11,870,871],{},"Importante: mientras la propagación ocurre, parte de los usuarios aún resuelve vía Hostinger. No apagues la zona vieja hasta confirmar que 100% de los resolvers ya cambiaron (24 a 48 horas es seguro).",[15,873,875],{"id":874},"tls-termina-donde-e2e-se-rompe","¿TLS termina dónde? ¿E2E se rompe?",[11,877,878],{},"En modo proxy (orange cloud), TLS termina en CloudFlare. Re-establecen otra conexión TLS a tu servidor (en modo Full strict). Técnicamente: descifra, procesa, re-cifra. Para punta-a-punta verdadero: gray cloud (DNS only) o CloudFlare Tunnel con configuración custom. Para la mayoría de las aplicaciones, \"TLS verdaderamente punta-a-punta\" es menos importante de lo que parece — el ataque que eso protege (interceptación en el medio de la red) requiere atacante ya dentro de la red de CloudFlare, escenario poco realista.",[15,880,882],{"id":881},"cloudflare-workers-vs-serverless-de-mi-cloud-cuando-vale","¿CloudFlare Workers vs serverless de mi cloud — cuándo vale?",[11,884,885],{},"Workers son buenos para: edge computing donde latencia \u003C50ms importa (geo-routing, A\u002FB testing, rewrite de header); transformación liviana de request\u002Fresponse; auth en el borde (validar JWT antes de llegar al origen). No son buenos para: workload con más de 30 segundos de runtime; integración heavy con bases relacionales (latencia de cold start de DB driver mata); código que necesita bibliotecas que dependen de filesystem o proceso. Lambda de AWS sigue mejor para workload de runtime largo; Workers ganan en el borde. Usa ambos, no sustituyas uno por el otro.",[15,887,889],{"id":888},"puedo-usar-cloudflare-r2-con-cluster-auto-hospedado","¿Puedo usar CloudFlare R2 con cluster auto-hospedado?",[11,891,892,893,896],{},"Sí — R2 es S3-compatible en la API. Tu app usa ",[282,894,895],{},"aws-sdk"," configurado con endpoint de R2 y credenciales R2; código sigue igual. Ventaja económica: cero egress fee. Puedes servir descargas pesadas (instaladores, vídeos de producto, backups) directo del R2 sin pagar por banda saliendo. Desventaja: durabilidad documentada es 99.999999999% (11 nueves), misma del S3, pero histórico operacional del R2 es más corto. Para hot path crítico, algunos equipos prefieren mantener S3 y usar R2 solo para cold storage y static delivery.",[15,898,900],{"id":899},"origen-cayo-always-online-resuelve","¿Origen cayó — Always Online resuelve?",[11,902,903],{},"En parte. Always Online sirve la última versión cacheada de páginas HTML cuando el servidor está fuera. Pero: solo funciona para rutas que estaban siendo cacheadas; solo sirve la versión estática (sin datos dinámicos actualizados); solo dura mientras CloudFlare mantiene el snapshot (generalmente algunos días). Es una red de seguridad buena para blog estático y marketing. No sustituye alta disponibilidad real del cluster — para app dinámico, lo que resuelve es el cluster tener tres nodos y elección automática cuando uno cae.",[15,905,907],{"id":906},"cerrando-combinando-cloudflare-con-cluster-auto-hospedado","Cerrando — combinando CloudFlare con cluster auto-hospedado",[11,909,910],{},"La combinación que recomendamos para 90% de los casos es: cluster auto-hospedado con tres o más nodos (alta disponibilidad real) + CloudFlare Free en el borde (DDoS, caché, IP hiding). El cluster cuida del enrutamiento interno, certificados automáticos, failover entre nodos en segundos. CloudFlare cuida de protección pública, caché global y ofuscación de IP. Las dos capas se complementan — no compiten.",[11,912,913],{},"Para empezar desde cero con esa combinación:",[915,916,921],"pre",{"className":917,"code":918,"language":919,"meta":920,"style":920},"language-bash shiki shiki-themes github-dark-default","curl -sSL get.heroctl.com\u002Finstall.sh | sh\n","bash","",[282,922,923],{"__ignoreMap":920},[924,925,928,932,936,940,944],"span",{"class":926,"line":927},"line",1,[924,929,931],{"class":930},"sQhOw","curl",[924,933,935],{"class":934},"sFSAA"," -sSL",[924,937,939],{"class":938},"s9uIt"," get.heroctl.com\u002Finstall.sh",[924,941,943],{"class":942},"suJrU"," |",[924,945,946],{"class":930}," sh\n",[11,948,949],{},"Te quedas con cluster funcional en tres nodos, certificado Let's Encrypt automático en el dominio que elijas, panel web para enviar jobs, alta disponibilidad real. Después, añades CloudFlare Free al frente del dominio y configuras conforme la sección \"Configuración mínima\" de este post. Total de tiempo: una tarde.",[11,951,952],{},"Más lectura en esta línea:",[36,954,955,967],{},[39,956,957,962,963,966],{},[958,959,961],"a",{"href":960},"\u002Fes\u002Fblog\u002Fdeploy-docker-produccion-de-compose-a-cluster","Deploy Docker en producción: del compose al cluster"," — cómo salir del ",[282,964,965],{},"docker compose up"," y llegar a alta disponibilidad real, con los pasos intermedios.",[39,968,969,973],{},[958,970,972],{"href":971},"\u002Fes\u002Fblog\u002Fobservabilidad-sin-datadog-stack-startup","Observabilidad sin DataDog: stack para startup"," — métricas, logs y tracing sin pagar US$ 2.000\u002Fmes de SaaS de observabilidad.",[11,975,976],{},"CloudFlare es una de las pocas herramientas donde el tier gratis es tan bueno que rechazarlo es terquedad. Pero como toda elección de infra, la parte difícil es entender exactamente dónde está la frontera — y, principalmente, dónde pasa por dentro del tráfico cifrado de tu aplicación.",[978,979,980],"style",{},"html pre.shiki code .sQhOw, html code.shiki .sQhOw{--shiki-default:#FFA657}html pre.shiki code .sFSAA, html code.shiki .sFSAA{--shiki-default:#79C0FF}html pre.shiki code .s9uIt, html code.shiki .s9uIt{--shiki-default:#A5D6FF}html pre.shiki code .suJrU, html code.shiki .suJrU{--shiki-default:#FF7B72}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":920,"searchDepth":982,"depth":982,"links":983},2,[984,985,986,987,988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003],{"id":17,"depth":982,"text":18},{"id":30,"depth":982,"text":31},{"id":99,"depth":982,"text":100},{"id":261,"depth":982,"text":262},{"id":291,"depth":982,"text":292},{"id":354,"depth":982,"text":355},{"id":402,"depth":982,"text":403},{"id":503,"depth":982,"text":504},{"id":534,"depth":982,"text":535},{"id":564,"depth":982,"text":565},{"id":776,"depth":982,"text":777},{"id":803,"depth":982,"text":804},{"id":810,"depth":982,"text":811},{"id":820,"depth":982,"text":821},{"id":827,"depth":982,"text":828},{"id":874,"depth":982,"text":875},{"id":881,"depth":982,"text":882},{"id":888,"depth":982,"text":889},{"id":899,"depth":982,"text":900},{"id":906,"depth":982,"text":907},"engineering",null,"2026-05-08","CloudFlare gratis bloquea DDoS, cachea estático y esconde la IP del servidor. Pero añade latencia, lock-in y features que tal vez no uses. Cuándo vale y cuándo es overkill.",false,"md",{},true,"\u002Fes\u002Fblog\u002Fcloudflare-frente-a-cluster-auto-hospedado","13 min",{"title":5,"description":1007},{"loc":1012},"es\u002Fblog\u002Fcloudflare-frente-a-cluster-auto-hospedado",[1018,1019,1020,1021,1004],"cloudflare","cdn","ddos","performance","anNMR0LCPmSxGr2HA6KuK6H9TYKnYL7Z73S9z0DPL44",[1024,1031],{"title":1025,"path":1026,"stem":1027,"description":1028,"date":1029,"category":1030,"children":-1},"CapRover vs Coolify vs Dokploy: el segmento simple comparado en 2026","\u002Fes\u002Fblog\u002Fcaprover-vs-coolify-vs-dokploy","es\u002Fblog\u002Fcaprover-vs-coolify-vs-dokploy","Los tres paneles dominantes para correr 'Heroku en 1 VPS'. Cada uno apuesta a una filosofía diferente — madurez, riqueza de features, o peso ligero. Comparativa honesta para elegir sin arrepentimiento.","2026-01-19","comparison",{"title":1032,"path":1033,"stem":1034,"description":1035,"date":1036,"category":1037,"children":-1},"Cuánto cuesta alojar un SaaS en 2026: la planilla abierta","\u002Fes\u002Fblog\u002Fcuanto-cuesta-alojar-un-saas-2026","es\u002Fblog\u002Fcuanto-cuesta-alojar-un-saas-2026","Ingreso en moneda local, coste en dólar. Para una startup, la infra es el primer gasto que mata margen. Comparación detallada de escenarios de alojamiento con números medidos.","2026-04-26","case-study",1777362217334]