【问题标题】:Access a local VM (homestead) from a mobile device从移动设备访问本地 VM(宅基地)
【发布时间】:2017-01-25 16:07:35
【问题描述】:

我的移动应用使用来自 URL 的 API,例如 example.com

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

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

192.168.10.10 example.dev 

ip:192.168.10.10 指向一个虚拟机(更具体地说是 Laravel 的 Homestead)。

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

我想要它,这样当我在移动浏览器上键入 example.dev 时,它也会将我定向到桌面上的虚拟机。

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

目前的进展

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

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

【问题讨论】:

标签: networking routing homestead


【解决方案1】:

我只需要像这样编辑 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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 不幸的是,我没有使用 VMWare 工作站。我正在使用宅基地(使用 vagrant 和 VirtualBox)。
    • 您使用的是 NAT 网络连接还是桥接连接?如果您在主机上托管 Web 地址,桥接应该非常简单,只需使用您的 HOST 文件指向访客 IP。或者只是将网址设置为访客 IP。只是一些想法。
    猜你喜欢
    • 2016-07-31
    • 1970-01-01
    • 2017-04-24
    • 1970-01-01
    • 2020-07-05
    • 2021-09-18
    • 2022-10-19
    • 2021-05-14
    • 2017-02-18
    相关资源
    最近更新 更多