Cordova-Android HTTPS请求在4G上失败

Cordova-Android HTTPS请求在4G上失败,android,cordova,ssl,Android,Cordova,Ssl,我创建了Cordova Android应用程序,我面临这个问题: 在3G/4G上,每当我尝试向我的服务器发出请求时,都会出现以下错误: ERR_TUNNEL_CONNECTION_FAILED. 当我使用WIFI时,一切正常。这并不是在所有的Android设备上都会发生,我在三星Galaxy A5(以及其他一些Android设备)上遇到了这个问题 我发现,如果我们使用HTTP而不是HTTPS,一切都很好 也根据 和 我们的SSL证书似乎一切正常 我们如何解决这个问题 这通常是因为提供商正在设备

我创建了Cordova Android应用程序,我面临这个问题:

在3G/4G上,每当我尝试向我的服务器发出请求时,都会出现以下错误:

ERR_TUNNEL_CONNECTION_FAILED.
当我使用WIFI时,一切正常。这并不是在所有的Android设备上都会发生,我在三星Galaxy A5(以及其他一些Android设备)上遇到了这个问题

我发现,如果我们使用HTTP而不是HTTPS,一切都很好

也根据 和 我们的SSL证书似乎一切正常


我们如何解决这个问题

这通常是因为提供商正在设备中配置代理。 尝试检查当前APN设置并从中删除代理和端口字段


如果您使用的端口与443不同,也可能会出现这种情况。我想知道您是否找到了答案,但仍然希望为其他寻找解决方案的人发布答案:请注意,Cordova不允许对安装了不受信任ssl证书的服务器进行https呼叫。您可以忽略此错误,并通过在cordova文件中进行小更改继续

打开“\cordova\platforms\android\CordovaLib\src\org\apache\cordova\ CordovaWebViewClient.java”。在“OnReceivedSlerror”方法中,注释 替换为else部分并添加handler.continue()。


移动数据连接会出现此问题,因为运营商提供的默认接入点通常具有不允许SSL隧道的代理。您所要做的就是将代理和端口设置为零


另外,请确保仅使用端口443进行HTTPS。

谢谢您的回答,但我的应用程序是B2C应用程序,有超过100k+的活动用户,因此解决方案必须在应用程序内,我不能依赖用户配置其代理。在应用程序内没有您可以实施的解决方案,这只影响具有代理集的用户,并非所有应用都会设置,这取决于提供商。但例如,什么应用程序、facebook和类似应用程序在此设备上运行时没有任何问题,它们不也应该有相同的问题吗?您的https网站是否使用不同于443的端口?我已经运行了一些测试,据我所知,问题是8443端口,非常感谢您的回答!检查代理设置。如果可能,请删除代理并重试。您是否在应用程序中实现了支付网关?任何支付网关与此有何关系?我们没有使用任何外部支付网关,只是Android应用程序内购买阻止了代理请求Hanks,我不知道