繁体   English   中英

从Rails 4.2中的网络上的另一台计算机访问本地主机

[英]Access local host from another machine on network in rails 4.2

根据这篇文章 ,为了从同一网络上的另一台机器访问本地服务器,您需要使用0.0.0.0:3000作为rails 4.2中localhost的地址。 如果我使用rails s -b 0.0.0.0 -p 3000启动服务器,则确实可以使用主机ip地址后跟:3000从另一台机器进行访问。 但是,资产未显示。 我尝试在development.rb中设置config.asset_host = '0.0.0.0:3000'并重新启动服务器,但这无济于事。

那么,如何从远程计算机加载资产? 控制台显示以下错误

GET http://localhost:3000/assets/application.css net::ERR_CONNECTION_REFUSED
192.168.0.57/:24 
GET http://localhost:3000/assets/application.js net::ERR_CONNECTION_REFUSED
192.168.0.57/:83 
GET http://localhost:3000/assets/infographic.png net::ERR_CONNECTION_REFUSED
192.168.0.57/:106 
GET http://localhost:3000/assets/analysis-thumb.png net::ERR_CONNECTION_REFUSED
192.168.0.57/:121 
GET http://localhost:3000/assets/chart-thumb.png net::ERR_CONNECTION_REFUSED
localhost:3000/images/favicon.ico:1 
GET http://localhost:3000/images/favicon.ico net::ERR_CONNECTION_REFUSED
gingerEditor.min.js:21 
Running Ginger Widget  version 0.1.0.585
localhost:3000/images/favicon.ico:1 
GET http://localhost:3000/images/favicon.ico net::ERR_CONNECTION_REFUSED

在这种情况下,主机位于192.168.0.57:3000。 服务器日志显示页面已在192.168.0.9加载,即为Started GET "/" for 192.168.0.9

如果您有LINUXUNIX发行版,请打开终端并点击

ifconfig

然后找到例如的inet地址。

inet 192.168.0.113 netmask 0xffffff00 broadcast 192.168.0.255 

然后从同一网络中的另一台计算机上,您可以在浏览器中点击以下内容

192.168.0.113:3000

现在,您将能够从另一台计算机上运行您的应用程序。

希望这会对您有所帮助。

我通过将config.asset_host设置为主机的地址来解决此问题。 因此,如果主机是192.168.0.17则在config/development.rb您需要以下行:

config.asset_host = '192.168.0.17:3000'

这不是理想的选择,这意味着您每次想通过将开发服务器绑定到0.0.0.0:3000来打开开发服务器时,都需要更改development.rb文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM