找不到404 - 仅限移动设备

时间:2016-12-27 16:48:43

标签: android angularjs azure ionic-framework breeze

我有一个Ionic应用程序,它通过Azure上托管的webapi同步数据。

我有一个新版本的api,我想在它上线前测试,所以我在Azure上创建了一个部署插槽,并将新的webapi上传到新插槽。

当我在Ripple仿真器中运行同步时,它可以工作。

但是,当我在移动设备上运行时,http请求会返回404 not found错误。

如果我将网址放到设备上的浏览器中,没问题,页面会正确返回“需要身份验证”,如果我将设备上的网址更改为实际网站,它也会有效。

Azure配置中是否有某些内容在请求来自移动设备时返回404?

1 个答案:

答案 0 :(得分:1)

似乎你错过了Cordova的白名单规则。域白名单是一种安全模型,用于控制对应用程序无法控制的外部域的访问。在将您的应用程序转移到生产环境之前,您应该制定白名单并允许访问特定的网络域。

首先,您应该安装Cordova白名单插件(我认为您已经拥有它),然后添加以下配置为允许访问AppName/config.xml文件的网站的行。

<allow-navigation href="*" />
<allow-intent href="*" />
<access origin="*" />

有关详细信息,请参阅https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-whitelist/