2014-04-04 28 views
1

如何在Mongoid 3客戶端啓用SSL/TLS?如何在Mongoid 3客戶端啓用SSL/TLS?

我試着:

options: 
    -ssl: true 

但是我得到 「未定義的方法`each_pair」的[{ 」SSL「=>真}]:陣列(NoMethodError)」:

/home/user1/.rbenv/versions/2.0.0-p451/lib/ruby/gems/2.0.0/bundler/gems/mongoid-026e32109178/lib/mongoid/config.rb:203:in `options=': undefined method `each_pair' for [{"ssl"=>true}]:Array (NoMethodError) 
from /home/jwiley/.rbenv/versions/2.0.0-p451/lib/ruby/gems/2.0.0/bundler/gems/mongoid-026e32109178/lib/mongoid/config.rb:129:in `load_configuration' 
from /home/jwiley/.rbenv/versions/2.0.0-p451/lib/ruby/gems/2.0.0/bundler/gems/mongoid-026e32109178/lib/mongoid/config.rb:87:in `load!' 
from /home/jwiley/.rbenv/versions/2.0.0-p451/lib/ruby/gems/2.0.0/bundler/gems/mongoid-026e32109178/lib/mongoid.rb:98:in `load!' 
from /home/jwiley/.rbenv/versions/2.0.0-p451/lib/ruby/gems/2.0.0/bundler/gems/mongoid-026e32109178/lib/mongoid/railtie.rb:75:in `block in <class:Railtie>' 

這個帖子:

https://groups.google.com/forum/#!topic/mongoid/juexwcPWxOk

...:建議有,你可以通過它送入Mongoid選項的配置文件來實現它。但是不清楚哪些選項是必需的,以及允許的值是什麼。

回答

2

連字符在配置中不需要。要啓用SSL,請使用如下配置:

production: 
    sessions: 
    default: 
     options: 
     ssl: true 

關於可用選項,您鏈接的討論關於舊代碼。以前它是可以設置在配置SSL證書:

https://github.com/mongoid/moped/blob/dc21475820ff148fb42963752db0bfa6a23f5e1e/lib/moped/sockets/ssl.rb#L95-L125

但是這些代碼在此得到了刪除承諾:

https://github.com/mongoid/moped/commit/ace43c4d7e4bbe7d32dfcf1f7ac5ee34e47647c9#diff-d808d724705e7cb8b2e11baf137922af

和自帶的輕便摩托車版本Mongoid 3具有僅用於主機和端口的選項:

https://github.com/mongoid/moped/blob/1.5.0-stable/lib/moped/sockets/ssl.rb#L12-L29