AWS EC2 服务器拒绝 Ionic/Capacitor/Android 连接到 PHP 个文件
AWS EC2 server refusing Ionic/Capacitor/Android connections to PHP files
我最近开始构建一个 Angular Ionic 应用程序,它连接到 AWS EC2 服务器上的 PHP 脚本。一切正常,除了当我在 phone.
上构建应用程序后尝试通过 Android 连接时
响应是简单的 404 响应,没有其他信息。当我查看 Android Studio 上的日志时,我看到以下响应:
E/Capacitor: Unable to open asset URL: [api address]
我已经将前端的 HttpClient 调用和后端的 php 文件都缩减为最简单的形式,但仍然没有:
<?php
echo "Hello";
?>
我知道 Capacitor 仅在几个月前才更新为 3,我担心它与此有关。我正在使用 PHP 7.
更新
问题确实是 cleartext,但由于 HttpClient 没有捕获到错误,所以问题变得更加复杂,所以我只是返回了一个未知的失败响应。
为了首先看到它是明文,我首先必须为本机 HTTP 插件更改 HttpClient 并在我的 phone 上测试时检查日志(HTTP 无法通过浏览器工作)。
这时我才发现我没有正确更改配置文件。
只要您的 PHP 网络服务器不在 Android 设备上 运行 直接尝试连接到 localhost
/ 127.0.0.1
就不会工作,您需要使用另一个域/IP,您的网络服务器可用并且 Android 设备可以访问。您也可以通过在 Android 设备的浏览器中打开 URL 来检查。
如果这对您不可行,您也可以使用 port forwarding via adb 将您的 Web 服务器的端口转发到 Android 设备上的本地端口。
如果您使用其他域/IP,请确保您的 Web 服务器不只侦听本地连接,并且未被防火墙或类似设备阻止。
此外,如果您使用未加密的连接(即 http
而不是 https
),您可能需要在 Capacitor config 中启用 cleartext
配置选项。
我最近开始构建一个 Angular Ionic 应用程序,它连接到 AWS EC2 服务器上的 PHP 脚本。一切正常,除了当我在 phone.
上构建应用程序后尝试通过 Android 连接时响应是简单的 404 响应,没有其他信息。当我查看 Android Studio 上的日志时,我看到以下响应:
E/Capacitor: Unable to open asset URL: [api address]
我已经将前端的 HttpClient 调用和后端的 php 文件都缩减为最简单的形式,但仍然没有:
<?php
echo "Hello";
?>
我知道 Capacitor 仅在几个月前才更新为 3,我担心它与此有关。我正在使用 PHP 7.
更新 问题确实是 cleartext,但由于 HttpClient 没有捕获到错误,所以问题变得更加复杂,所以我只是返回了一个未知的失败响应。
为了首先看到它是明文,我首先必须为本机 HTTP 插件更改 HttpClient 并在我的 phone 上测试时检查日志(HTTP 无法通过浏览器工作)。
这时我才发现我没有正确更改配置文件。
只要您的 PHP 网络服务器不在 Android 设备上 运行 直接尝试连接到 localhost
/ 127.0.0.1
就不会工作,您需要使用另一个域/IP,您的网络服务器可用并且 Android 设备可以访问。您也可以通过在 Android 设备的浏览器中打开 URL 来检查。
如果这对您不可行,您也可以使用 port forwarding via adb 将您的 Web 服务器的端口转发到 Android 设备上的本地端口。
如果您使用其他域/IP,请确保您的 Web 服务器不只侦听本地连接,并且未被防火墙或类似设备阻止。
此外,如果您使用未加密的连接(即 http
而不是 https
),您可能需要在 Capacitor config 中启用 cleartext
配置选项。