AWS EC2服务器拒绝Ionic/Cacitor/Android连接到PHP文件



我最近开始构建一个Angular Ionic应用程序,该应用程序连接到AWS EC2服务器上的PHP脚本。一切都很好,除了当我在手机上构建应用程序后尝试通过Android连接时。

该响应是没有附加信息的简单404响应。当我查看Android Studio上的日志时,我看到以下响应:

E/Capacitor:无法打开资产URL:〔api地址

我已经将前端的HttpClient调用和后端的php文件都简化为最简单的形式,但仍然没有:

<?php
echo "Hello";
?>

我知道电容器在几个月前才更新到3,我担心它与此有关。我使用的是PHP 7。

UPDATE问题确实是cleartext,但由于HttpClient没有捕捉到错误,因此问题变得更加复杂,因此我只是返回了一个未知的失败响应。

为了首先看到它是明文,我首先必须更改本地HTTP插件的HttpClient,并在手机上测试时检查日志(HTTP无法通过浏览器工作(。

直到那时,我才注意到我没有正确地更改配置文件。

只要您的PHP web服务器没有在Android设备上运行,直接尝试连接到localhost/127.0.0.1就无法工作,并且您需要使用另一个域/IP,您的web服务器就可以在该域上使用,并且Android设备可以访问该域/IP。您也可以通过在Android设备的浏览器中打开URL来检查这一点。

如果这对你来说不可行,你也可以通过adb使用端口转发将你的网络服务器的端口转发到安卓设备上的本地端口。

如果您使用另一个域/IP,请确保您的web服务器没有仅侦听本地连接,并且没有被防火墙或类似设备阻止。

此外,如果您使用未加密的连接(即http而不是https(,则可能需要在电容器配置中启用cleartext配置选项。