我开发了一个API
,可以在本地loc.api
和live.api
生产中使用(显然域只是一个例子)。该 API 在经典的 apache 服务器上本地运行。
现在我正在玩Laravel
,使用这个API
。连接到live.api
没有问题(因为我使用的是真实域),但无法连接到我的local API
。
我猜这只是一个host
配置问题,因为Homestead
无法连接到我的 cumputer 上的普通 apache 服务器。如果是这样的话,我只需要定义一个链接到loc.api
的IP
,但我不知道我应该在那里使用什么IP。
所以概括一下,在我的本地apache
服务器上运行loc.api
没有问题,运行live.api没有问题,单独运行Laravel
或连接到live.api
没有问题,但似乎无法Laravel
使用我的loc.api
有什么想法吗?
Homestead 运行在类似于虚拟机的东西上。虚拟机的本地主机实际上是虚拟机内部使用的本地 IP 地址。为了与主机(运行虚拟机的计算机)通信,您需要使用默认网关 IP 地址。这是虚拟机用来引用其主机系统的 IP 地址。
默认值因虚拟机的配置而异。理想情况下,如果您在本地主机上正常设置 API,并通过 127.0.0.1(或本地主机)在本地访问它,则将本地站点配置设置为默认网关即可。
但是,如果您通过虚拟主机设置API,并且通过local.api
或类似这样的主机访问它,则需要修改虚拟机的/etc/hosts
文件(因为homestead正在为Ubuntu操作系统提供服务)并输入类似
<gateway IP> local.api
这样,您可以使用local.api
作为 API 主机地址,该地址将解析为网关 IP 并使用正确的主机名调用 API。