Saltar al contenido principal

Un flujo práctico para diagnosticar sitios web

¿Tu sitio no carga? Separa DNS, TLS y HTTP antes de cambiar algo.

Ejecuta un solo comando QZX para correlacionar resolución de nombre, validez del certificado y respuesta de una URL HTTPS concreta. diagnoseWebsite identifica la capa que conviene revisar primero y conserva la evidencia DNS, TLS y HTTP subyacente para profundizar.

Creado y mantenido por Alejandro Sánchez · QZX — Quick Zap Exchange

Ejecuta el flujo completo

Instala QZX

diagnoseWebsite y sus comprobaciones subyacentes están disponibles en la Alpha publicada 0.2.2.0.15. Usa Python estándar >=3.11 y verifica la versión instalada antes de ejecutarlos. No necesitas una cuenta ni una clave de API.

python -m pip install --upgrade qzx
qzx version --json

¿Necesitas pipx o ayuda con tu entorno Python? Elige una ruta de instalación.

Ejecuta el flujo completo

Empieza con el único comando de diagnóstico de abajo o prepáralo para tu propio host y una ruta HTTPS segura, de solo lectura. Ejecuta comprobaciones acotadas de DNS, TLS confiable y HTTP, correlaciona la evidencia e indica la capa que conviene revisar primero. Las tres sondas subyacentes siguen disponibles cuando quieras inspeccionar una capa por separado.

qzx diagnoseWebsite https://example.com --json
Referencia de diagnoseWebsite
¿Necesitas las tres sondas subyacentes?

diagnoseWebsite ya ejecuta estas capas y conserva sus resultados sin procesar. Ejecútalas por separado cuando necesites aislar una capa, comparar observaciones o ajustar el timeout HTTP independientemente.

qzx checkDns example.com --json
qzx checkSslCertificate example.com 443 --json
qzx checkUrlStatus https://example.com 10 --json

¿Necesitas ayuda o quieres contar cómo te fue?

El diagnóstico realiza sondas de red contra resolutores DNS y el servidor remoto. Es de solo lectura: no cambia DNS, no reemplaza certificados ni edita la configuración del servidor. Rechaza credenciales embebidas, parámetros y fragmentos antes de consultar; aun así, elige una ruta segura que no dispare una acción del servidor y revisa los datos devueltos antes de compartir un informe.

1. ¿Se resuelve el nombre?

Lee records.A, records.AAAA, record_status y errors. La ausencia de un registro AAAA o MX, por sí sola, no demuestra una caída web. query_failed indica una consulta inconclusa; dns_name_not_found es un resultado distinto. Puede haber respuestas parciales junto a success: true.

Referencia del comando DNS

2. ¿Es válido el certificado aquí?

Comprueba is_valid, chain_trusted, hostname_match y days_remaining. Un certificado inspeccionado pero inválido puede devolver success: true e is_valid: false. Revisa el reloj y el almacén de confianza local, además del certificado remoto; no desactives la validación para convertir un fallo en un resultado favorable.

Referencia del certificado TLS

3. ¿Qué devuelve esta URL?

Lee is_online, status_code, status_detail y response_time_ms. El comando sigue redirecciones ordinarias e informa la respuesta resultante, no una traza completa de redirecciones. No renderiza JavaScript ni inicia sesión en la aplicación.

Referencia del estado HTTP

Una comprobación completada no equivale a un sitio sano

success y el código de salida describen la ejecución del diagnóstico, no la salud del sitio. Empieza por overall_status, primary_issue_layer y probe_status, y luego contrasta esa conclusión con la evidencia DNS, TLS y HTTP subyacente. En particular, un HTTP 404 puede existir dentro de un diagnóstico completado con success: true e is_online: false mientras la capa HTTP necesita atención.

Capturado, no inventado

Fragmento capturado con el wheel publicado de QZX 0.2.2.0.8 en CPython estándar 3.13.13, Windows x64. Un endpoint HTTP local temporal devolvió 404 intencionalmente. Es una prueba controlada, no una caída de example.com ni de QZX.

{
  "success": true,
  "is_online": false,
  "status_code": 404
}
Ver JSON completo, entorno y huella del wheel
Nombre DNS inexistente o todas las consultas fallidas
Comprueba escritura del nombre, acceso al resolutor o la red local y DNS autoritativo. No cambies de hosting por una consulta fallida aislada.
Certificado inspeccionado, pero is_valid es false
Lee los campos de confianza, nombre de host y fechas. Resuelve la causa informada antes de confiar en esta conexión TLS.
HTTP 401 o 403
Respondió un servidor o intermediario. Revisa reglas de acceso y autenticación; no demuestra que el servidor esté apagado.
HTTP 404
Revisa la ruta exacta, el enrutamiento y el despliegue. El endpoint respondió, pero no proporcionó el recurso solicitado.
HTTP 5xx o ausencia de status_code
Para 5xx, inspecciona los logs de aplicación o proxy que administras. Sin respuesta HTTP, separa evidencia de DNS, conexión, TLS y timeout en status_detail.
HTTP 2xx/3xx y certificado válido
Esta comprobación llegó a un endpoint que responde. Prueba el recorrido real del usuario aparte: un login, una página en caché o JavaScript roto también pueden devolver 200.

Dale al agente un informe del incidente, no permiso para improvisar

Usando este resultado de QZX diagnoseWebsite, contrasta primary_issue_layer con findings y con la evidencia cruda de dns, tls y http. Distingue un destino no saludable de una sonda parcial o fallida, cita campos reales, separa hechos de suposiciones y propone una siguiente comprobación. No cambies DNS, certificados, reglas de firewall ni despliegues. No afirmes que la aplicación funciona solo porque HTTP devolvió 200.

¿Prefieres texto en la terminal? Quita --json. Para evidencia estructurada, consérvalo: un solo resultado contiene el diagnóstico correlacionado y los resultados crudos de todas las sondas completadas. Usa related_commands cuando quieras repetir una capa por separado.

Respeta el alcance de la evidencia

Los resultados describen este equipo y este momento. Un CDN o proxy puede responder mientras el origen no está disponible; un firewall puede tratar esta CLI de forma distinta a un navegador. Este flujo no es monitoreo continuo, una prueba de navegador, una prueba de carga ni una auditoría de seguridad. Repite una comprobación acotada desde otra red autorizada cuando la ubicación importe.

¿Este flujo te ayudó?

Después de probarlo en tu terminal, cuéntale a Alejandro qué pasó o ve directamente a la ayuda. La respuesta opcional no exige cuenta ni explicación.

Opcional: la categoría elegida se envía con la sesión analítica existente del sitio. No leemos tu terminal, proyecto, destino ni portapapeles. Es tu valoración, no una comprobación automática. Cómo se usa esta respuesta

¿Encontraste un problema reproducible? Abre el formulario de errores existente, revisa sus campos y decide qué compartir. Los reportes son públicos y requieren iniciar sesión en GitHub.

Reportar a Alejandro un problema del flujo