mlz*_*boy 8 ruby ruby-on-rails ruby-on-rails-3
我用了:
rails s
run webrick on 0.0.0.0:3000
Run Code Online (Sandbox Code Playgroud)
但我无法从另一台PC访问Web应用程序.
我怎样才能在Rails 3中实现这一目标?
Nuc*_*ucc 14
默认绑定IP为0.0.0.0,因此问题可能是您的防火墙阻止该端口.尝试使用rails s -b IP_ADDRESS -p PORT以确保问题与防火墙有关.
顺便说一句.Linux,Osx,Windows?
小智 5
Nucc做对了.您应该可以通过您的IP地址访问该网站,但据我所知,您正试图通过0.0.0.0(我错误地认为这是一个空地址,我的错误),因为Nucc正确地指出0.0.0.0映射到INADDR_ANY将映射到您的所有网络接口.
如果要指定使用的特定IP地址(假设您的IP地址为192.168.0.50):
rails s -b 192.168.0.50
Run Code Online (Sandbox Code Playgroud)
我会将默认端口保持在3000,这样如果你在计算机上运行一个,你就不会与真正的网络服务器发生冲突,但如果你不能随意将它改为80,那么:
rails s -b 192.168.0.50 -p 80
Run Code Online (Sandbox Code Playgroud)
-b命令行参数更改WEBrick绑定的IP地址,-p参数更改默认端口.有关选项类型的完整列表:
rails s -h
Run Code Online (Sandbox Code Playgroud)
如前所述,如果您使用的是软件防火墙,则需要确保端口已打开.如果您没有尝试使用0.0.0.0但是使用了第二台计算机中的正确IP地址,那么这可能是罪魁祸首.
现在,从另一台计算机到达您的rails网站,您只需键入一个浏览器:
http://192.168.0.50:3000
Run Code Online (Sandbox Code Playgroud)
或者,如果您已将默认端口更改为标准端口80,则可以使用:
http://192.168.0.50
Run Code Online (Sandbox Code Playgroud)
(对不起,我无法回复:()
"默认绑定IP地址为0.0.0.0,无法从另一台计算机访问,因为这是一个不可路由的地址."
对不起,但事实并非如此.这0.0.0.0意味着INADDR_ANY,所以它绑定到所有接口......
| 归档时间: |
|
| 查看次数: |
11934 次 |
| 最近记录: |