【发布时间】:2012-12-06 21:43:36
【问题描述】:
我已按照以下步骤操作:
- 让服务器允许跨域调用(包含所有标头和内容)这可行
- 用一些跨域调用测试服务器这可行
- 让服务器强制一个证书这可行
- 使用浏览器转到服务器上的文件,选择正确的证书并查看该文件仍然有效
现在我们进入精彩部分 李> - 将跨域调用与证书结合
问题
我正在从浏览器获取证书请求,但是当我选择与使用浏览器时相同的证书时,会发出调用但我收到 403 Forbidden。
代码
$.ajax({
type: "POST",
xhrFields: {withCredentials: true},
dataType: "xml",
contentType: "text/xml; charset=\"utf-8\"",
url: "https://www.myOtherServer.com/testfile.asp",
});
有什么想法吗?
编辑
Access-Control-Allow-Credentials: true 和 Access-Control-Allow-Origin 已正确配置。
其他信息
我开始认为它与内容类型有关。当我将其更改为 "text/html" 时,我收到 415 错误,但我确实需要发送 xml,因为它是一个 SOAP 服务器。
响应标头
Access-Control-Allow-Cred... true
Access-Control-Allow-Head... Content-Type, Origin, Man, Messagetype, Soapaction, X-Test-Header
Access-Control-Allow-Meth... GET,POST,HEAD,DELETE,PUT,OPTIONS
Access-Control-Allow-Orig... https://www.mywebsite.com
Access-Control-Max-Age 1800
Cache-Control private
Content-Length 5561
Content-Type text/html; charset=utf-8
Date Wed, 19 Dec 2012 15:06:46 GMT
Server Microsoft-IIS/7.5
X-Powered-By ASP.NET
请求标头
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip, deflate
Accept-Language nl,en-us;q=0.7,en;q=0.3
Access-Control-Request-He... content-type
Access-Control-Request-Me... POST
Cache-Control no-cache
Connection keep-alive
Host myhoast.com
Origin https://www.mywebsite.com
Pragma no-cache
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0
【问题讨论】:
标签: javascript jquery certificate cross-domain