Deseo realizar llamadas AJAX a un servidor seguro que utiliza un certificado autofirmado. En el entorno en el que se utiliza mi aplicación, está bien: puedo proporcionar el certificado CA a los usuarios y hacer que lo instalen antes de usar la aplicación. Sin embargo, a veces, un usuario intenta visitar la aplicación antes de instalar los certs. En estos casos, la aplicación falla silenciosamente, al menos en Firefox (el caso más común del problema), parece que la llamada muere silenciosamente, sin siquiera disparar el controlador de errores. FWIW, si el usuario visita una página real en el servidor, recibe una advertencia de cert.Las llamadas AJAX a HTTPS no confiable (autofirmado) fallan silenciosamente
Podría hackear una solución alternativa, por ejemplo, hacer una solicitud de latido/ping y configurar un temporizador de vigilancia para ver si el servidor responde a tiempo, pero parece, bueno, hacky. Prefiero poder probar la conexión antes de tiempo. ¿Cuál es la forma "correcta" de asegurarse de que el servidor con el que desea hablar tenga un certificado de confianza dentro de Javascript? Si hace alguna diferencia, estoy haciendo mis solicitudes AJAX a través de JQuery.
ACTUALIZACIÓN: Hay una gran frase final aquí. Resulta que AJAX no era el problema en absoluto. Estaba seguro de que estaba basado en los síntomas de que estaba relacionado con los certificados autofirmados, pero la falta de error de AJAX era inquietante, especialmente. dada la especificación vinculada a en la respuesta a continuación. Otro miembro del equipo lo identificó: los manejadores de errores AJAX no se estaban disparando porque JQuery nunca se cargó! Incluimos JQuery de otro subdominio de nuestro sitio, también alojado en HTTPS, y los usuarios agregaron excepciones para ourService.example.com pero no js.example.com. Aparentemente, si señala una etiqueta <script>
en una conexión segura no confiable, que falla silenciosamente también.
{/} headdesk
¿El comportamiento que está viendo es diferente de no poder contactar al servidor en absoluto, como cuando su conexión de red desaparece? – martona