如何让我的Android模拟器与基于Rails的本地API对话?

时间:2018-08-09 19:39:07

标签: android ruby-on-rails ssl react-native https

因此,我有一个使用Expo构建的Android和iOS应用程序。

现在,此应用程序需要向基于Ruby on Rails并使用Foreman / Passenger运行的本地API /网关服务器发出提取请求。

该应用当前正在AVD(Android模拟器)中运行。我正在使用macOS。

AVD可以使用其内置的Chrome浏览器访问本地API /网关。我可以向服务器的根端点发出简单的GET请求,并使用我们内置的“管理”面板。由于我们的Chrome浏览器不信任服务器的证书,因此这一切都是不安全的。

(我们生成了一些由CA签名的SSL证书,乘客正在部署这些证书)

主要问题

每当我们有我们的React Native应用向本地服务器发出请求时(例如,https://10.0.2.2:44300,因为10.0.2.2用于将Mac的localhost公开给Android),请求就不会发送通过。他们超时了。

Example error output

我一直在试图弄清为什么会这样,并且我确定这是否与我的设备不信任的证书有关。

在iOS上,一切正常,但我们必须手动安装服务器使用的证书。由于Simulator可以将localhost识别为计算机的localhost,所以这不是问题,但是相同的证书不适用于Android。

有什么可能的方法来解决此问题?

谢谢!

0 个答案:

没有答案