Errno :: EHOSTUNREACH没有路由到主机 - 连接(2)
问题描述:
Errno::EHOSTUNREACH in UsersController#create
No route to host - connect(2)
当发送邮件与Rails应用程序出现此错误。Errno :: EHOSTUNREACH没有路由到主机 - 连接(2)
答
错误Errno::EHOSTUNREACH: No route to host - connect(2)
表示路由问题,可能与错误的IP地址有关。您可能在/etc/hosts
(将主机名映射到IP地址的hosts file)或其他地方(例如在config/deploy.rb等中)中指定了错误的IP。如果使用具有DHCP服务器的本地网络,IP地址可能会更改经常。
答
这可能不适用于您,但我有类似的问题。我们一直在与我们的内部电子邮件服务器发生问题,网络主机有时无法将电子邮件发送到我们自己的地址。为了解决这个超出我的控制范围的问题,并避免500个错误发生,我只是发现了这个例外。
在发送关闭电子邮件的控制器,I包裹邮件电话:
Notifier.deliver_issue_updated(@issue, @changes, current_user)
像这样
begin
Notifier.deliver_issue_updated(@issue, @changes, current_user)
rescue
flash[:notice] += " Unable to deliver email notices."
end
现在通知用户的电子邮件没有出去,但不受500错误的干扰。
希望有所帮助。
答
大厦joeshmo的回答是:
begin
# problematic code
rescue Errno::EHOSTUNREACH
# log the error
# let the User know
rescue
# handle other exceptions
end
答
如果您对厨师的客户端部署的工作,然后将它与错主机/服务器IP问题client.rb
cd /etc/chef/
编辑客户端.rb
chef_server_url "http://CORRECT_SERVER_IP:4000"
你给我们太多的信息拉朱。谢谢。 – 2011-05-16 15:29:25