Ajax Angular SSL CORS
Ajax Angular SSL CORS
我其实不明白这个问题。我对SSL和证书不是很感兴趣。
test.kanubox.de上的一个脚本(您可以在那里尝试并查看源代码)使用ajax调用sandbox.api.kehrwasser.com/kanubox/v1上的rest服务器。显然,CORS是必需的,并且在没有SSL的情况下也能很好地工作,因此我假设CORS设置正确。向API发出的OPTIONS-request (preflight)的报头数据确认
Access-Control-Allow-Origin: *
Upgrade: h2,h2c
Pragma: no-cache
Keep-Alive: timeout=5, max=100
Content-Type: application/json
Content-Encoding: gzip
Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE, PUT
Server: Apache/2.4
Expires: Fri, 19 Aug 2016 12:15:58 GMT
Access-Control-Max-Age: 500
Access-Control-Allow-Headers: x-requested-with, Content-Type, origin, authorization, accept, client-security-token, Access-Control-Allow-Origin, X-Frame-Options
但是当我切换到https://test.kanubox.de并在https://sandbox.api.kehrwasser.com/kanubox/v1调用API时,我从FireFox获得CORS错误,如"(Cross-Origin blocked)
"。Reason: CORS-Header 'Access-Control-Allow-Origin' missing
(翻译错误信息)
该证书来自我的主机,并由我的主机自己验证。我不确定,但它是"自签名"吗?所以FF屏蔽它可能是因为它不信任它?
下面是我的代码: var test = angular.module("test", []);
test.constant('apiConfig', {
apiUrl: "https://sandbox.api.kehrwasser.com/kanubox/v1"
});
test.controller("TestController", function($scope, $http, apiConfig) {
var credentials = { mail: "user@mailserver.com", password: "12345" };
// POST REQUEST VIA SSL
$http({
url: apiConfig.apiUrl + "/users/auth/",
method: 'POST',
data: credentials
}).success(function(data, status, headers, config) {
$scope.variable = data;
}).error(function(data, status, headers, config) {
$scope.variable = data;
});
});
如果我浏览到https://test.kanubox.de/,那么在我的firefox浏览器中不知道服务器证书。它确实是一个自签名证书,由"Hostpoint DV SSL CA - G2"本身颁发!
要使SSL证书工作,您需要在浏览器中安装"Hostpoint"根证书。你就是这么做的!因此,这是一个受信任的根证书问题。
SSL问题解决后,您可以查看CORS问题。
在https://sandbox.api.kehrwasser.com/kanubox/v1/中使用的证书是由著名的CA"Let's incrypt"颁发的。
相关文章:
- CORS-重定向到第二个GET正在接收的页面
- node.js请求数据事件未在CORS ajax调用中触发
- 带有凭据的角度文件上载(CORS)不起作用
- 与域在同一台计算机上运行的NODEJS服务器的CORS错误
- SmartGWT数据源和CORS
- CORS-服务器端cookie没有保存在chrome浏览器上
- CORS:否'访问控制允许来源'header-但是php设置头文件
- CORS:访问控制允许原点不等于提供的原点
- CORS保持在SecurityError上:操作不安全
- 绘制(重新加载)具有cors=“”的图像;匿名的“;在画布上(javascript)
- CORS故障无法解决jquery,laravel5.2
- JavaScript和Java WebSocket SSL连接错误
- 在Golang回调函数中启用CORS
- 向localhost发出带有grunt的代理CORS请求
- XMLHttpRequest在$.ajax工作的地方给出了CORS错误
- 可以'由于CORS问题,无法访问Heroku上的Flask API
- 对这种与document.domain和CORS相关的不一致行为的解释是什么
- 如何在angular js中启用CORS
- Ember supporting XDomainRequest(xdr) for CORS
- Ajax Angular SSL CORS