Homestead无法远程访问第二个站点

use*_*ert 7 vagrant laravel vagrantfile homestead

我有一个网站设置正常,但第二个无法远程访问:

我的YAML:

---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
    - map: ~/Projects
  to: /home/vagrant/Projects

sites:
    - map: app.app
      to: /home/vagrant/sites/app1/public
    - map: app2.app
      to: /home/vagrant/sites/app2/public
      port: 8100

ports:
    - host: 81
    - guest: 8100
Run Code Online (Sandbox Code Playgroud)

我可以轻松地使用我的IP访问第一个站点 - http://192.168.0.5/但第二个站点不能共享同一个端口,所以我添加了81 -> 8100.

当我试图重新配置我的宅基流浪盒时,它说:这台机器的配置有误.请修正以下错误,然后重试:

vm:
* Forwarded port definitions require a "host" and "guest" value
* Ports to forward must be 1 to 65535
* Ports to forward must be 1 to 65535
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Mic*_* A. 4

xip.io服务可以轻松完成此任务。就是这样:

例如,我有以下 Homesite 应用程序设置“rentmanager.test”。这是我在 Homestead 上配置的第一个应用程序,因此它是默认路由。要从我的本地网络访问它,我所要做的就是访问:

http://rentmanager.test.192.168.5.124.xip.io:8000
Run Code Online (Sandbox Code Playgroud)

其中“rentmanager.test”。是我在 Homestead 上的 Laravel 应用程序的名称,“192.166.5.124”。是我在本地网络上的 IP 地址,“xip.io:8000”是重定向服务域以及在 Homestead 设置的默认路由之外访问应用程序 (8000) 所需的端口。

现在,这对于您配置的第一个站点来说开箱即用,但如果我们有多个站点会发生什么?这需要更多的跑腿工作。假设我们想要访问第二个名为“sitescanner.test”的应用程序。如果我尝试使用新的应用程序 URL 访问上面的相同 URL,您会看到我仍然收到第一个应用程序!让我们也解决这个问题。

首先,您需要向主机文件添加一条附加规则。因此,假设我们的新应用程序名为“sitescanner.test”:

# Vagrant Sites External Access

192.168.10.10 sitescanner.test.192.168.5.124.xip.io
Run Code Online (Sandbox Code Playgroud)

一旦到位,我们就必须更新 Homestead 中的配置脚本以创建正确的虚拟主机条目,以便 Homestead 知道如何路由请求。为此,我们将编辑您的 Homestead.yaml。在“sites:”指令下:

- map: sitescanner.test
  to: /home/vagrant/Code/sitescanner/public   
- map: sitescanner.test.192.168.5.124.xip.io
  to: /home/vagrant/Code/sitescanner/public 
Run Code Online (Sandbox Code Playgroud)

完成后,只需“vagrant stop”(如果它已经在运行),然后“vagrant up --provision”,您应该能够从

http://sitescanner.test.192.168.5.124.xip.io:8000
Run Code Online (Sandbox Code Playgroud)

网络上的任何地方!希望这可以帮助。

在我思考的同时,对于这个配置还有一个最终的考虑:

  • 如果可能的话,您可能希望在主机上设置静态 IP 地址。如果您通过 DHCP 分配了一个动态 IP 地址,那么当您分配了一个新 IP 时,此配置最终可能会被破坏。