Cómo lo resolvemos
Cómo lo hemos resuelto
Las decisiones detrás de la herramienta y los problemas que fuimos encontrando por el camino, contados tal como pasaron.
Vigilar el rango completo, no una sola dirección
Mi primera versión aprendía las direcciones de Cloudflare de cada web consultando el DNS y vigilaba solo esas. Parecía correcto, pero el DNS devuelve direcciones distintas según desde dónde se pregunte.
Al verificarla ya instalada, vi que el motor vigilaba un grupo de direcciones que nadie bloquea, mientras las que sí se bloqueaban quedaban fuera de su vista. No lo descubrí con un bloqueo, sino comprobando la herramienta con calma.
La solución fue declarar el rango que se bloquea y vigilarlo entero, con sus direcciones vecinas, en lugar de fiarme de lo que el DNS devuelve en cada momento.
Cuándo cambiar y cuándo volver
Cambiar y volver no cuestan lo mismo. Si tarda en cambiar, tus visitantes siguen sin entrar. Si vuelve demasiado pronto, puede encontrarse otra vez con el bloqueo y repetir la caída. Por eso es rápida para salir y prudente para volver.
- Pasa a DNS directo en cuanto una lectura confirma el bloqueo en tus direcciones.
- Vuelve a Cloudflare solo tras tres lecturas limpias seguidas, unos 15 minutos.
- Mientras dura el bloqueo no insiste cada cinco minutos: comprueba cada 30 minutos por si fue breve.
En una simulación con dos meses de historial real, cambió con una mediana de 1,4 minutos y volvió con una mediana de 12. En un bloqueo real, el 25 de octubre tardó 6 minutos en cambiar.
Solo actúa con datos fiables
Un módulo que usaba antes me apagó Cloudflare por error: había una dirección bloqueada que no era de mis webs. De ahí salieron cuatro reglas.
Solo mira lo tuyo
Vigila las direcciones de tus dominios y su rango. Una IP bloqueada que no es tuya no activa nada.
Sin datos fiables, no hace nada
Si hayahora.futbol falla o sus datos no son válidos, deja tus webs como están y te avisa.
Comprueba lo que cambia
Después de aplicar un cambio, vuelve a leer tus registros para confirmar que quedaron como debían.
Guarda cómo estaban
Antes de tocar nada, guarda el estado de tus registros, y solo toca los de las webs que le indiques.
El panel también se bloqueaba
La primera versión del panel estaba detrás de Cloudflare, igual que las webs. En un bloqueo real, con datos móviles, no me abría: el mismo bloqueo que afectaba a mis webs afectaba al panel.
El modo automático seguía funcionando, porque corre en servidor, pero yo no podía mirar ni cambiar nada.
La solución es el caso B: el panel vive en tu propio hosting, fuera de Cloudflare. El móvil se empareja una vez con un código de un solo uso y el panel habla con el motor de servidor a servidor. Lo estoy comprobando en bloqueos reales y lo contaré aquí cuando tenga resultados.
Lo que aprendí por el camino
Los errores también forman parte de la historia. Estos fueron los que encontré y cómo los corregí.
El 26 de octubre llegó un aviso de error. No era un bloqueo: una lectura a la API de Cloudflare tardó más de diez segundos y se canceló. Ahora una lectura fallida se reintenta una vez, y un error solo avisa si se repite en tres comprobaciones seguidas. Los graves, como un token revocado, avisan al momento.
El botón de recargar sumaba lecturas y podía precipitar decisiones. Ahora una comprobación manual puede adelantar un cambio a DNS directo, pero nunca adelanta la vuelta a Cloudflare.
Es el problema del apartado anterior. Lo resolví separando el panel del motor, con el caso B.
Antes de publicar la lógica que decide cuándo tocar tu DNS, la revisa alguien que no la ha escrito, y se prueba con el historial real de bloqueos. Hoy hay más de sesenta pruebas automáticas.