0

我们有以下配置:

  • 安装了 AirWatch VPN 的万维网 iOS 手机。
  • 尝试连接到 Intranet 服务器的 Cordova 应用程序。
  • AirWatch 服务器配置为通过隧道传输应用程序的流量(每应用程序 VPN),并且当 cordova 应用程序打开时,状态栏中会指示 VPN 的使用情况。

但是,应用程序无法从内网服务器获取数据。对请求的响应是

  • 状态 0
  • 消息未定义
  • responseText 错误的

当使用 AirWatch 浏览器连接到相同的 URL(使用 VPN)时,它可以工作。使用 Safari(不使用 VPN)时,无法连接到服务器。

在没有 AirWatch VPN 的全 Intranet 设置中,该应用程序按预期工作。

现在,我认为 Cordova 使用了内置的 Safari 网络浏览器。尽管应用程序本身启用了 VPN,但请求是否有可能不通过 VPN 进行隧道传输?

4

1 回答 1

0

Cordova 使用 Whitelist 插件来启用来自 WebView 的 http 调用。在config.xml文件中,您应该有类似的行

<allow-navigation href="https://slack.cordova.io" />
<allow-navigation href="http://www.google-analytics.com/" />
<allow-navigation href="https://*.imgur.com/" />
<allow-navigation href="https://*.twitter.com/" />
<allow-navigation href="https://*.twimg.com/" />
<allow-navigation href="http://cordovablogs.discus.com/" />

尝试使用您要从cordova应用程序中调用的URL添加标签allow-navigation

于 2017-11-30T15:43:14.370 回答