我在不受信任的網絡(咖啡店,鄰居的開放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. 有沒有辦法阻止服務器覆蓋您的HTML代碼?
- 2. 有沒有辦法阻止代理?
- 3. 有沒有辦法阻止用戶向服務器發送虛假消息?
- 4. Rails,有沒有辦法給file_field默認的圖像?
- 5. e.preventDefault - 有沒有辦法做到默認?
- 6. 有沒有辦法阻止tabbar項目的配置?
- 7. 有沒有辦法阻止AVPlayer的rate屬性被重置?
- 8. 有沒有辦法阻止MySQL配置中的MYSQL Delayed Inserts?
- 9. 有沒有辦法Rails 3.0.x可以默認使用Thin?
- 10. 有沒有辦法阻止OpenCL內核執行?
- 11. 有沒有辦法阻止ie7加載一些內聯JavaScript?
- 12. 有沒有辦法阻止瀏覽器發送特定的cookie?
- 13. 有沒有辦法在Mongoid的rails項目中默認設置attr_accessible?
- 14. 有沒有辦法阻止Django的觀點同時服務多個請求?
- 15. 有沒有辦法爲ggsave設置新的默認值?
- 16. 有沒有辦法設置sfWidgetFormFilterDate小部件的默認值?
- 17. 有沒有辦法編輯默認的構建設置?
- 18. 有沒有辦法重置JShell的默認導入?
- 19. 有沒有辦法設置默認的HTML5視頻音量?
- 20. 有沒有辦法配置NetBeans使用Tab鍵阻止縮進?
- 21. 有沒有辦法在AnimatedVectorDrawables中偵聽動畫結束
- 22. 有沒有辦法阻止用戶放大瀏覽器顯示?
- 23. 有沒有辦法阻止計時器蠕變?
- 24. 有沒有辦法配置Gradle默認日誌輸出?
- 25. 有沒有辦法將默認值設置爲「00:00」?
- 26. 有沒有辦法在JTable上添加一行選定的偵聽器?
- 27. Windows偵聽器服務
- 28. 有沒有辦法在Spring中定義一個默認的事務管理器
- 29. 有沒有辦法將導航器設置爲默認的區域
- 30. Ansible:有沒有辦法讓變量沒有默認值?
如果您的操作系統支持別名,請使用它來運行服務器。 –