Errno :: EHOSTUNREACH没有路由到主机 - 连接(2)

Errno :: EHOSTUNREACH没有路由到主机 - 连接(2)

问题描述:

Errno::EHOSTUNREACH in UsersController#create 

No route to host - connect(2) 

当发送邮件与Rails应用程序出现此错误。Errno :: EHOSTUNREACH没有路由到主机 - 连接(2)

+10

你给我们太多的信息拉朱。谢谢。 – 2011-05-16 15:29:25

错误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"