从移动设备访问本地VM(宅基地)

时间:2017-01-25 16:07:36

标签: networking routing homestead

我的移动应用使用网址中的API example.com

但是我希望它使用我的机器上的本地开发版本example.dev

我通过在路线文件中添加以下内容在我的机器上进行设置:

192.168.10.10 example.dev 

ip:192.168.10.10指向VM(更具体地说是Laravel的Homestead)。

这意味着当我在桌面Web浏览器上键入example.dev时,它会将我引导至VM。

我希望这样,当我在移动浏览器上输入example.dev时,它也会将我引导到桌面上的VM。

请注意,手机和桌面都在同一网络上。

到目前为止的进展

经过大量的SO答案后,我找到了以下内容;

  • 我可以使用我的本地IP地址(例如192.168.0.50)来访问我的localhost。但是,我想访问VM,而不是localhost!
  • 使用vagrant share,但这只会产生400 Bad请求错误,这显然仍然是一个未解决的问题!
  • 将本地IP添加到homestead.yaml上的地图属性。但是我只能访问这样的网站:192.168.0.50:8000。还不确定如何使用这种方法添加更多网站?

2 个答案:

答案 0 :(得分:0)

如果您在VMWare工作站中使用NAT,则添加端口转发到虚拟网络编辑器。这将使用端口80将192.168.0.50:80指向您的VM。

  • 打开虚拟网络编辑器(可能需要以管理员身份运行),单击网络类型
  • 中的NAT选择
  • 点击“NAT设置”
  • 点击端口转发下的“添加”
  • 将要转发的端口从主机(即:80)
  • 输入VM的NAT IP地址(在VM中使用IPconfig for windows)
  • 在VM上添加您需要的端口以打开或转发(IE:80)
  • 为其命名,然后单击“确定”。
  • 在NAT设置页面上单击“确定”,然后单击“确定”或“应用”,立即尝试将虚拟机网络连接设置为NAT。

答案 1 :(得分:0)

我只需要像这样编辑Homestead.yaml:

ip: 192.168.10.10
memory: 2048
cpus: 2
provider: virtualbox
ssl: true
authorize: ~/.ssh/id_rsa.pub
keys:
    - ~/.ssh/id_rsa
folders:
    -   map: 'C:\Users\Patata\Documents\code'
        to: /home/vagrant/code
sites:
    -   map: homestead.test
        to: /home/vagrant/code/laravel/ComunicacionesApp/public
    -   map: phpmyadmin.test
        to: /home/vagrant/code/sites/phpmyadmin
networks:
    - type: "public_network"
      ip: "192.168.0.100"
databases:
    - homestead
features:
    -   mariadb: false
    -   ohmyzsh: false
    -   webdriver: false
name: code
hostname: code

我只需要添加以下代码:

networks:
    - type: "public_network"
      ip: "192.168.0.100"

192.168.0.100是我的路由器列表上的可用IP,保存Homestead.yaml,然后在手机的浏览器中编写:192.168.0.100进行测试,仅此而已。

我的网络适配器处于默认NAT配置中。 来源:https://laravel.com/docs/5.4/homestead#network-interfaces