强制ssl证书包含在CORS飞行前请求中

时间:2015-06-04 20:11:39

标签: apache tomcat ssl https cors

我正在尝试将我的客户端服务器(在Apache @ port 443上运行)发出的(非简单的)CORS GET请求(AJAX)发送到第三方端点服务器(在Tomcat @端口8443上运行),该请求失败通过HTTPS尝试时触发。

当未启用SSL时,它可以正常工作,表明CORS已正确设置。

问题是,由于GET(不简单),它会发送一个飞行前OPTIONS请求。

根据这个: Pre-flight OPTIONS request failing over HTTPS

预先广告的请求不包含客户端证书。他说这是在CORS规范中但是我无法找到规范中具体列出的内容: http://www.w3.org/TR/cors/

第三方无法启用

SSLVerifyClient optional

因为他们要求所有通信都使用SSL发送。

然而,他们的CORS设置确实正确,他们有

access-control-allow-credentials: "true"

在我们的AJAX调用中,我们包含在xhrFields

  withCredentials: true

所以我们告诉它传递withCredentials(包括cert / cookie / etc)

在我们的APACHE上,我们有

SSLOptions +ExportCertData

不知怎的,当我们拨打电话时,他们仍然看到错误“key / cert not included”

我错过了什么吗?有没有办法在Apache中强制执行此操作? 目前,我正准备创建一个中间脚本,将证书附加到初始请求,但似乎必须有更好的方法。

有什么建议吗?

0 个答案:

没有答案