我在不受信任的网络(咖啡店,邻居的开放WiFi,DEF CON)上进行了大量的网络开发,当随机,确实有问题的软件(我的Rails应用程序正在开发中)说0.0绑定一个端口时,我得到了twitchy。 0.0并开始接受所有来者的请求。我知道我可以使用-b选项指定服务器的绑定地址,但是我想全局更改默认值,所以它总是以这种方式运行,除非我另有说明。当然,我也可以运行某种防火墙,阻止连接,但最好不要听。是否有'.railsrc'文件或类似的文件 - 至少每个项目的设置文件,但最好是一些全局设置文件 - 我可以使用它来强制服务器默认绑定到127.0.0.1?有没有办法阻止Rails的内置服务器默认侦听0.0.0.0?
回答
您可以更新/脚本/轨在你的文件的Rails应用程序,以反映如下:
#!/usr/bin/env ruby
# This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
APP_PATH = File.expand_path('../../config/application', __FILE__)
require File.expand_path('../../config/boot', __FILE__)
# START NEW CODE
require "rails/commands/server"
module Rails
class Server
def default_options
super.merge({
:Host => 'my-host.com',
:Port => 3000,
:environment => (ENV['RAILS_ENV'] || "development").dup,
:daemonize => false,
:debugger => false,
:pid => File.expand_path("tmp/pids/server.pid"),
:config => File.expand_path("config.ru")
})
end
end
end
# END NEW CODE
require 'rails/commands'
这将绑定轨道应用程序到我的-host.com启动时。您仍然可以覆盖命令行中的选项。
我不确定为什么这不会反映在Rails :: Server API文档中。你可以看看https://github.com/rails/rails/blob/master/railties/lib/rails/commands/server.rb来查看服务器的实现。
请注意,在Rails 4中,/ script/rails文件已被移至/ bin/rails。
这正是我正在寻找的 - 谢谢! –
无法在全局范围内进行更改,因此您必须使用-b
。
rails s -b <ip address>
关于Rails 2:'脚本/服务器-b
使用--binding=ip
参数:
rails s --binding=127.0.0.1
https://github.com/rails/rails/blob/master/railties/lib/rails/commands/server.rb
我知道这个选项 - 我希望能够在全局范围内进行更改,所以我不必每次启动时都指定它服务器。 –
您可以在您的初始化程序中在您的https://github.com/rails/rails/blob/master/railties/lib/rails/commands/server.rb中定义'Rails :: Server :: Options#parse!'应用程序,甚至编辑您的系统中的gem文件。 – clyfe
- 1. 有没有办法阻止添加默认ODataMediaTypeFormatters配置?
- 2. <Asterisk>有没有办法阻止B听到临时的
- 3. 有没有办法阻止服务器覆盖您的HTML代码?
- 4. 没有默认DHCP服务器的ICS
- 5. 有没有办法阻止html警告?
- 6. 有没有办法阻止WatIn超时?
- 7. 有没有办法阻止代理?
- 8. 有没有办法阻止用户向服务器发送虚假消息?
- 9. 有没有办法在JQuery和AngularJS中用touchend侦听器替换所有的点击侦听器?
- 10. Rails,有没有办法给file_field默认的图像?
- 11. e.preventDefault - 有没有办法做到默认?
- 12. 有没有办法阻止在Rails视图中显示评论?
- 13. Node.js HTTP服务器停止侦听
- 14. 有没有办法阻止tabbar项目的配置?
- 15. 有没有办法阻止AVPlayer的rate属性被重置?
- 16. 有没有办法阻止MySQL配置中的MYSQL Delayed Inserts?
- 17. 有没有办法阻止列表上的设置操作?
- 18. 防止制表符停止侦听器的默认行为
- 19. 有没有办法Rails 3.0.x可以默认使用Thin?
- 20. 如何停止位置侦听器服务? (现在不停止)
- 21. PgAdmin3:服务器没有听
- 22. 有没有办法阻止浏览器发送特定的cookie?
- 23. 有没有办法阻止ie7加载一些内联JavaScript?
- 24. 有没有办法阻止OpenCL内核执行?
- 25. 有没有办法在Mongoid的rails项目中默认设置attr_accessible?
- 26. 有没有办法阻止Django的观点同时服务多个请求?
- 27. 有没有办法设置Heroku Toolbet的默认应用程序?
- 28. 有没有办法设置绘图窗口的默认大小?
- 29. 有没有办法编辑默认的构建设置?
- 30. 有没有办法设置ImageLoader的默认图像?
如果您的操作系统支持别名,请使用它来运行服务器。 –