2015-03-27 11 views
0

у меня есть mongod работает на внутренней подсети моей сети в 10.1.150.24 и мой mogoid.yml имеет следующие строки:Mongoid не может подключиться к удаленному серверу, не аутентификации

hosts: 
    - 10.1.150.24:27017 

MongoDB работает без проверки подлинности на удаленном сервере. На удаленном сервере приложение rails с - localhost:27017 подключается без проблем. mongod.conf имеет

net: 
    bindIp: 0.0.0.0 

установить и принять соединения на всех интерфейсах.

Я вижу ошибку соединения, когда я нахожусь в rails c на своем локальном компьютере и пытаюсь создать объект или даже получить его.

Foo.create(...) failes, как это:

TypeError: no implicit conversion of nil into String 
    from /var/lib/gems/2.2.0/gems/moped-2.0.3/lib/moped/protocol/commands/authenticate.rb:35:in `+' 
    from /var/lib/gems/2.2.0/gems/moped-2.0.3/lib/moped/protocol/commands/authenticate.rb:35:in `digest' 
    from /var/lib/gems/2.2.0/gems/moped-2.0.3/lib/moped/protocol/commands/authenticate.rb:47:in `build_auth_command' 
    from /var/lib/gems/2.2.0/gems/moped-2.0.3/lib/moped/protocol/commands/authenticate.rb:25:in `initialize' 
    from /var/lib/gems/2.2.0/gems/moped-2.0.3/lib/moped/authenticatable.rb:71:in `new' 
    from /var/lib/gems/2.2.0/gems/moped-2.0.3/lib/moped/authenticatable.rb:71:in `login' 
    from /var/lib/gems/2.2.0/gems/moped-2.0.3/lib/moped/authenticatable.rb:28:in `block in apply_credentials' 
    from /var/lib/gems/2.2.0/gems/moped-2.0.3/lib/moped/authenticatable.rb:26:in `each' 
    from /var/lib/gems/2.2.0/gems/moped-2.0.3/lib/moped/authenticatable.rb:26:in `apply_credentials' 
    from /var/lib/gems/2.2.0/gems/moped-2.0.3/lib/moped/node.rb:180:in `block in ensure_connected' 
    from /var/lib/gems/2.2.0/gems/moped-2.0.3/lib/moped/node.rb:115:in `block in connection' 
    from /var/lib/gems/2.2.0/gems/connection_pool-2.1.1/lib/connection_pool.rb:62:in `with' 
    from /var/lib/gems/2.2.0/gems/moped-2.0.3/lib/moped/node.rb:114:in `connection' 
    from /var/lib/gems/2.2.0/gems/moped-2.0.3/lib/moped/node.rb:178:in `ensure_connected' 
    from /var/lib/gems/2.2.0/gems/moped-2.0.3/lib/moped/node.rb:589:in `block in flush' 
    from /var/lib/gems/2.2.0/gems/moped-2.0.3/lib/moped/node.rb:617:in `block in logging' 
... 33 levels... 
    from /var/lib/gems/2.2.0/gems/railties-4.2.0/lib/rails/commands/console.rb:9:in `start' 
    from /var/lib/gems/2.2.0/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:68:in `console' 
    from /var/lib/gems/2.2.0/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:39:in `run_command!' 
    from /var/lib/gems/2.2.0/gems/railties-4.2.0/lib/rails/commands.rb:17:in `<top (required)>' 
    from /var/lib/gems/2.2.0/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:274:in `require' 
    from /var/lib/gems/2.2.0/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:274:in `block in require' 
    from /var/lib/gems/2.2.0/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:240:in `load_dependency' 
    from /var/lib/gems/2.2.0/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:274:in `require' 
    from /home/mwerner/workspace/pricing/bin/rails:8:in `<top (required)>' 
    from /var/lib/gems/2.2.0/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:268:in `load' 
    from /var/lib/gems/2.2.0/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:268:in `block in load' 
    from /var/lib/gems/2.2.0/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:240:in `load_dependency' 
    from /var/lib/gems/2.2.0/gems/activesupport-4.2.0/lib/active_support/dependencies.rb:268:in `load' 
    from /usr/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require' 
    from /usr/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require' 
    from -e:1:in `<main>' 

Учитывая количество authentication ошибок с moped я перепутал, так как нет никакой аутентификации на экземпляре Монго.

EDIT: Я также попытался SSH туннелирование в 27017 порт к моей локальной и настройки локального хоста в monogoid.yml Нет удачи

ответ

0

работает sudo gem pristine --all и убивая процесс пружинный зафиксировал проблему. Теперь я могу подключиться к удаленному серверу.

Смежные вопросы