我刚刚在运行 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 快得多