cordova 通过SSL从设备上的Ionic应用程序调用本地开发服务器上的API

l7wslrjt  于 2022-11-15  发布在  Ionic
关注(0)|答案(1)|浏览(229)

我正在开发一个带有ASP.NET CORE Webapi 5.0后端的Android移动的应用程序。(ionic cordova run android --device)、我一直得到ERR_CONNECTION_TIMED_OUT。我已经启用了CORS,API和设备运行在同一个Wifi网络上。我怀疑这个问题可能是后端运行在https上,我需要做一些调整,但我不知道那会是什么。我试着研究这个问题,但找不到任何我真正理解的东西。
我已经安装了cordova-plugin-whitelist,但不知道是否需要进一步配置。
我使用https://<my-computer-IP>:<port>/<apiendpoint>进行API调用

更新:我更新了IIS Express的URL绑定,以使用带有我的计算机IP地址的URL。这些调用在我的Web浏览器中正常工作。我还禁用了SSL与防火墙。但是,当我尝试从我的设备进行相同的API调用时,仍然会得到ERR_CONNECTION_TIMED_OUT

谢谢大家的耐心,我对网络问题不太了解。
离子信息:

Ionic CLI                     : 5.4.16 (C:\Users\sarah\AppData\Roaming\npm\node_modules\ionic)
   Ionic Framework               : @ionic/angular 5.6.3
   @angular-devkit/build-angular : 0.1102.8
   @angular-devkit/schematics    : 11.2.8
   @angular/cli                  : 11.2.8
   @ionic/angular-toolkit        : 3.1.1

Cordova:

   Cordova CLI       : 10.0.0
   Cordova Platforms : android 10.1.0
   Cordova Plugins   : cordova-plugin-ionic-webview 5.0.0, (and 7 other plugins)

Utility:

   cordova-res : 0.15.3
   native-run  : 1.3.0

System:

   Android SDK Tools : 26.1.1
   NodeJS            : v14.16.1 (C:\Program Files\nodejs\node.exe)
   npm               : 7.8.0
   OS                : Windows 10
bksxznpy

bksxznpy1#

原来防火墙是罪魁祸首,只是之前没有发现它。禁用它允许电话通过。以下是我所做的一切:
已将IIS Express配置为将URL与我的计算机的本地IP一起使用。以下是执行此操作的方法:https://learn.microsoft.com/en-us/iis/extensions/using-iis-express/handling-url-binding-failures-in-iis-express
这篇文章对添加新证书很有帮助(在上一步中添加的新https URL需要此证书):ASP.NET Core + IIS Express how to setup SSL Certificate

2022年更新:在升级到Windows 11和Chrome之后,我必须重新生成自签名证书并删除-KeyUsage标志才能使上一步生效。

我禁用了防火墙和SSL。禁用SSL会导致ERR_CLEARTEXT_NOT_PERMITTED,下面是您可以处理的方法:https://linuxpip.org/how-to-fix-neterr_cleartext_not_permitted/
我重新启用了SSL,它仍然工作!

相关问题