404 未找到 - 仅来自移动设备

404 not found - only from mobile device

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

我有一个 api 的新版本,我想在发布之前对其进行测试,因此我在 Azure 上创建了一个部署槽并将新的 webapi 上传到新槽。

当我 运行 我在 Ripple 模拟器中同步时,它起作用了。

但是,当我在移动设备上 运行 它时,http 请求 return 404 未找到错误。

如果我将 url 放入设备上的浏览器,没问题,页面正确 returns "authentication required",如果我更改 url设备到实时站点,它也可以工作。

当请求来自移动设备时,Azure 配置中是否有某些东西 return 是 404?

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

首先,您应该安装 Cordova 白名单插件(我想您已经安装了),然后将配置为允许访问任何站点的以下行添加到 AppName/config.xml 文件。

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

更多信息,请参考https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-whitelist/