【问题标题】:How to get port forwarding to work with gatsby and vagrant or virtualbox如何让端口转发与 gatsby 和 vagrant 或 virtualbox 一起使用
【发布时间】:2018-10-14 07:46:19
【问题描述】:

当使用在 Vagrant(通过 Virtualbox)上运行的 Gatsby 时,我无法让端口转发工作。

Gatsby 默认在 localhost 端口 8000 上运行。

我的 Vagrantfile 似乎使用以下方式转发了正确的端口:

config.vm.network "forwarded_port", guest: 8000, host: 8000

当我在 Vagrant 机器上使用 yarn develop 启动 Gatsby 时,访客机器上一切正常,应用程序正在 localhost:8000 上运行

info bootstrap finished - 7.354 s

 DONE  Compiled successfully in 9091ms                                                                                                                                                                                                

You can now view foo-bar-org in the browser.

  http://localhost:8000/

我可以在访客框上运行curl http://localhost:8000 来验证它确实在本地提供内容。

当我进入浏览器并尝试访问 http://localhost:8000 时返回主机框,它显示“Localhost 拒绝连接”。

在访客框上运行 netstat -tulnp | grep 8000 我得到以下信息:

tcp        0      0 127.0.0.1:8000          0.0.0.0:*               LISTEN      1909/node 

在主机箱上运行同样的程序,我得到了这个输出:

tcp        0      0 0.0.0.0:8000            0.0.0.0:*               LISTEN      13827/VBoxHeadless

【问题讨论】:

    标签: javascript reactjs vagrant virtualbox gatsby


    【解决方案1】:

    我确实通过更改在访客包上运行 Gatsby 的方式来实现这一点。似乎gatsby develop -H 0.0.0.0 会让 Gatsby 监听来自所有主机的连接。然后netstat -tulnp | grep 8000 输出变为:

    tcp        0      0 0.0.0.0:8000            0.0.0.0:*               LISTEN      2348/node
    

    我正在回答我自己的问题,以防它对其他人有所帮助,但如果有人能想出一个更好的方法来做到这一点,而 Gatsby 仍然只在本地主机上收听,那么我更喜欢这个答案并会接受这个答案。

    【讨论】:

    • 我遇到了同样的问题,这个答案对我完全有用。谢谢!
    猜你喜欢
    • 2023-04-03
    • 1970-01-01
    • 2017-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多