Fra*_*ssi 16 https android ios angularjs ionic-framework
情况:
我正在开发一个从API接收数据的Ionic应用程序.
之前,API在http://地址上,一切正常.
然后我们将API移动到https://并且它不再起作用了.或者,它仍然可以在浏览器中访问它,但不能在手机(或模拟器)中访问它.
我不确定可能是什么问题.在控制台日志中,我看到请求的状态为0.
它可能与白名单,标题或CORS有关.我尝试了几种方法但没有效果.
白名单:
在config.xml之前有这个白名单:
<allow-navigation href="http://*/*" />
Run Code Online (Sandbox Code Playgroud)
我曾尝试以多种方式修改它,但这并没有解决问题.例如,我尝试过:
<allow-navigation href="https://*/*" />
Run Code Online (Sandbox Code Playgroud)
和
<allow-navigation href="*" />
Run Code Online (Sandbox Code Playgroud)
API请求:
这是API请求的一个示例:
$http.get( 'https://MY_DOMAIN.com/mobile/list_mobile_project/' ,{},{"headers" : {"Content-Type" : "application/x-www-form-urlencoded; charset=UTF-8" }})
.success(function(data, status, headers, config)
{
// code
}).
error(function(data, status, headers, config)
{
console.log('Error with the API list_mobile_project');
console.log(data);
console.log(status);
console.log(headers);
console.log(config);
});
Run Code Online (Sandbox Code Playgroud)
API响应:
这是API响应的一个例子:
public function list_mobile_project()
{
header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept");
// code
echo json_encode( $project_list );
}
Run Code Online (Sandbox Code Playgroud)
问题:
如何让API在HTTPS上运行?
如果是与CORS相关的问题,如何在服务器端启用它?
小智 2
当您从 Http 切换到 Https 时,主要问题在于握手或证书合规性。请检查您的 SSL 证书在您的信任存储区中是否可用,并检查您的 Android 设备是否支持证书提供商。例如,初始 Android 平台不支持 CA 证书。
也许下面的两个链接可以给你一些想法。
http://nelenkov.blogspot.in/2011/12/using-custom-certificate-trust-store-on.html
http://www.codeproject.com/Articles/826045/Android-security-Implementation-of-Self-signed-SSL
| 归档时间: |
|
| 查看次数: |
2458 次 |
| 最近记录: |