【发布时间】:2012-12-17 14:41:10
【问题描述】:
我有一个站点,它使 AJAX JSONP 调用安全 (SSL) 网络服务器。如果我使用不安全的 (HTTP) Web 服务器,一切正常,但是当我更改为 SSL 版本时,调用永远不会返回。我已经检查了提琴手,错误如下:
由于 RemoteCertificateChainErrors,远程服务器 (192.168.150.85) 提供了未验证的证书。
这意味着缺少一些中间证书,但我不知道是哪一个。无论如何,我需要处理某些安装具有无效证书凭据的情况。
众所周知,如果您尝试对具有不受信任或过期证书的安全 URL 执行 AJAX 方法,浏览器将警告您的用户,无论您尝试如何或尝试做什么。在浏览器中你可以接受这些风险,即使在 C# 中你也可以实现一个回调来接受这些风险。但我不知道如何在 Javascript/JQuery 中做到这一点。
有人知道如何处理这种情况吗?
谢谢!
【问题讨论】:
-
如果您使用浏览器访问 SSL 站点会发生什么?
-
我的意思是您绝对应该理顺此服务器的证书问题。这对你来说可能吗?如果您可以访问服务器,则实际上只是将证书放在正确的 apache 目录中的问题。
-
嗨!如果我使用浏览器,它就不能正常工作,因为问题是 jquery.ajax() 方法正在等待确认。如果我使用提琴手,在错误消息之后请求有效,但在浏览器下,不显示错误消息并且 jquery.ajax 等待确认......直到日子结束:)
-
@thatnotidiotguy:你说得对,但我没有使用 apache,而是使用 c#(httplistener)自托管。证书在服务器上的正确位置,但由于它们不是官方的,因此无法验证,并且浏览器/ajax/fiddler 将始终显示此错误消息
标签: javascript jquery html ssl https