使用 virtualbox 从 linux 主机访问 windows 7 客户机 http 端口(使用 redmine 和 rails)

使用 virtualbox 从 linux 主机访问 windows 7 客户机 http 端口(使用 redmine 和 rails)

我刚刚在运行 VirtualBox 5.2.12 r122571 的 Windows 7 Enterprise SP1 上安装了 redmine

我禁用了 Windows 防火墙。

主机与客户机可以互相 ping 通。

我使用 webrick 启动 redmine:

bundle exec rails server webrick -e production

从访客那里,我可以使用localhost:3000和访问该应用程序127.0.0.1:3000,但不能使用访客 IP 地址

从主机我可以 ping 通客户机,但无法使用<guest_ip_address>:3000

我尝试使用 node 的 http_serve 并且它工作正常,我可以从客户机和主机使用以下方式浏览它<guest_ip_address>:8080

是否某些 ruby​​/rails/webrick 配置缺失???

--

这是我的配置

主机:Linux antergos 4.16.8-1-ARCH #1 SMP PREEMPT 2018 年 5 月 9 日星期三 11:25:02 UTC x86_64 GNU/Linux

VirtualBox 版本:5.2.12 r122571

客户机:Windows 7 Enterprise SP1

网络:桥接

Redmine版本:3.4.5.stable

Ruby 版本:2.3.3-p222(2016-11-21)[x64-mingw32]

Rails 版本:4.2.8

答案1

我发现解决该问题的一种方法是明确指定要绑定的 IP 地址,如下所示:

bundle exec rails server webrick -e production -b <guest_ip_address> -p 3000

这样,我就可以使用来宾的 IP 访问它,但我不能再使用来宾的本地主机。

仍然不确定这是否是最好的解决方案,我希望能够从客户机使用 localhost 和 127.0.0.1,并从主机使用客户机的 ip。

答案2

更好的解决方案是放弃 webrick 并使用 thin。

根据指导你必须:

编辑<redmine_folder>/Gemfile文件并添加:

宝石“薄”

然后运行

$> bundle install

之后你可以开始

$>thin start -e production
Using rack adapter
Thin web server (v1.7.2 codename Bachmanity)
Maximum connections set to 1024
Listening on 0.0.0.0:3000, CTRL+C to stop
Especificación de unidad no válida.

然后我可以使用或从客户端启动它localhost:3000,也可以使用127.0.0.1:3000<guest_ip_address>:3000<guest_ip_address>:3000

此外,该应用程序的响应速度似乎比 Webrick 快得多

相关内容