AJAX-Aufrufe an nicht vertrauenswürdige (selbstsignierte) HTTPS schlagen im Hintergrund fehl

Ich möchte, um AJAX-Aufrufe, um ein secure server verwendet ein selbst signiertes Zertifikat. In der Umgebung, wo die app verwendet wird, ist dies in Ordnung-ich kann die CA-Zertifikat, Benutzer und haben Sie installieren Sie vor der Verwendung der app. Allerdings, manchmal ein Benutzer versucht, besuchen Sie die app vor der Installation das certs. In diesen Fällen, die app zu leise ausfällt-zumindest im Firefox (der häufigste Fall des Problems), erscheint es angezeigt, dass der Anruf lautlos stirbt, ohne auch nur aus dem Fehler-handler. FWIW, wenn der Benutzer besucht eine tatsächliche Seite auf dem server sind, bekommen Sie ein cert Warnung.

Konnte ich hack in ein workaround -- sagen wir, ein Herzschlag/ping-Anforderung und der Aufbau einer watchdog-timer, um zu sehen, ob der server antwortet in der Zeit-aber das scheint, gut, hacky. Ich würde es vorziehen, in der Lage sein, um die Verbindung zu testen vor der Zeit. Was ist der "richtige" Weg, um sicherzustellen, dass der server, der Sie sprechen möchten über ein trusted cert innerhalb des Javascript? Ob es einen Unterschied macht, ich mache meine AJAX requests via JQuery.

UPDATE: Es ist eine tolle Pointe hier. Stellt sich heraus, AJAX war nicht das problem. Ich war sicher, dass auf der Grundlage der Symptome, es war in Bezug auf das self-signed certs, aber das fehlen von AJAX Fehler war beunruhigend, esp. angesichts der Skillung verbunden, die in der Antwort unten. Ein anderes team-Mitglied-es genagelt: die AJAX-Fehler-Handler nicht feuern ab, weil JQuery wurde noch nie geladen! Wir waren wie JQuery von einer anderen subdomain unserer Website, auch gehostet auf HTTPS-und die Benutzer Hinzugefügt hatte Ausnahmen für ourService.example.com aber nicht js.example.com. Offenbar, wenn Sie einen <script> tag an nicht Vertrauenswürdige verschlüsselte Verbindungdass schlägt im hintergrund fehl, als gut.

{/headdesk}

InformationsquelleAutor der Frage Coderer | 2010-12-30

Schreibe einen Kommentar