Windows 上的 Vagrant 端口转发

Vagrant Port Fowarding on Windows

我查看了 Stack Overflow 上的其他一些主题并找到了一些解决方案,但对我来说没有任何效果。我是 运行 一个 Rails 服务器(使用 Puma),默认使用端口 3000。

运行 rails s 虚拟机

=> Booting Puma
=> Rails 4.2.1 application starting in development on http://localhost:3000

Vagrant 文件

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/trusty64"
  config.vm.hostname = 'rails-dev-box'
  config.vm.provider :virtualbox do |vb|
    vb.customize ["modifyvm", :id, "--memory", "2048"]
  end
  config.vm.network :forwarded_port,   guest: 3000, host: 3000, auto_correct: true
  config.vm.provision :shell, path: 'bootstrap.sh', keep_color: true
end

运行 curl 'http://0.0.0.0:3000', curl 'http://127.0.0.1:3000', curl 'http://localhost:3000' on the vm (这是正确的)

<!DOCTYPE html>
<html>
  <head>
    <title>Page Title</title>
    <meta name="csrf-param" content="authenticity_token" />
    <meta name="csrf-token" content="xQKai5cQ" />
  </head>
  <body>
    <h1>You've Made It!!</h1>
  </body>
</html>

运行 curl 'http://127.0.0.1:3000', curl 'http://localhost:3000' 在本地机器上

* Adding handle: conn: 0x87e8a8
* Adding handle: send: 0
* Adding handle: recv: 0
* Curl_addHandleToPipeline: length: 1
* - Conn 0 (0x87e9a8) send_pipe: 1, recv_pipe: 0
* About to connect() to localhost port 3000 (#0)
*   Trying ::1...
* Connection Refused
*   Trying 127.0.0.1...
* Connected to localhost (127.0.0.1) port 3000 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.30.0
> Host: localhost:3000
> Accept: */*
>
* Recv failure: Connection was aborted
* Closing connection 0
curl: (56) Recv failure: Connection was aborted

打开浏览器只给我一个空白页面,提示连接不可用。

感谢任何帮助。谢谢!

使用这个命令:

rails s -b 0.0.0.0