How configure Homestead and xip.io?

2019-01-28 09:19发布

I want to access from other devices (iphone, android device, etc) to my sites on homestead in my machine. My machine and all device are on same network.

I want to use http://xip.io but I could not confgure it.

My ip machine is 192.168.0.12

The ip for sites on Homestead is 192.168.10.10

This is the file hosts:

127.0.0.1   localhost
127.0.1.1   host

#Virtual Hosts on Homestead
192.168.10.10   siteOne.com
192.168.10.10   siteTwo.app
192.168.10.10   otherSite.app

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

and this is Homestead.yaml

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

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

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

sites:
    - map: siteOne.com
      to: /home/vagrant/Homestead-Projects/SiteOne/public
    - map: siteTwo.app
      to: /home/vagrant/Homestead-Projects/SiteTwo/public
    - map: otherSite.app
      to: /home/vagrant/Homestead-Projects/OtherSite/public

databases:
    - homestead
    - db_siteOne
    - db_siteTwo
    - db_otherSite

variables:
    - key: APP_ENV
      value: local

# blackfire:
#     - id: foo
#       token: bar
#       client-id: foo
#       client-token: bar

# ports:
#     - send: 93000
#       to: 9300
#     - send: 7777
#       to: 777
#       protocol: udp

how can I do it?

Thanks!

2条回答
做个烂人
2楼-- · 2019-01-28 09:33

I believe Homestead already ships with it by default,

in my case i just added an entry on the hosts files, /etc/hosts (i'm on a mac machine), like this:

127.0.0.1 http://app.ip.address.xip.io:8000

(usually the default port is 8000), and then add an entry on the homestead yml config file (you can reach by typing homestead edit on your console.

enter image description here

and that should do it.

查看更多
地球回转人心会变
3楼-- · 2019-01-28 09:40

You can access your site by browsing to http://<your_local_ip>.xip.io:8000.

To understand how it works you need to know two facts:

  • Domain example.your_ip.xip.io resolves to your_ip.
  • By default local port 8000 is mapped to port 80 of your homestead virtual machine.

Please note, xip.io acts as a "DNS" and you don't need to edit your hosts file to access your homestead site from other devices on local network.

This solution works perfectly if you have only one site mapped in homestead. If there are multiple sites, only last mapped site gets served. A workaround is to use site identifier in your url. http://<your_site>.<your_local_ip>.xip.io:8000 still resolves to same endpoint but now you can update your homestead nginx to pickup the site identifier and serve the right site.

查看更多
登录 后发表回答