Rails Heroku SocketError:getaddrinfo:名称或服务未知

时间:2016-04-17 13:38:28

标签: ruby-on-rails heroku getaddrinfo geokit

我在使用heroku应用程序,Ruby 2.2.0,Rails 4.0.12并使用geokit-rails gem。

当我执行IpGeocoder.geocode(request.remote_ip)时,我收到错误:

Caught an error during Ip geocoding call: getaddrinfo: Name or service not known

我在网上搜索,发现解决方案是创建一个初始化程序并需要一个库:

require 'resolv-replace'

当我这样做时,我收到错误:

Caught an error during Ip geocoding call: Hostname not known: api.hostip.info

我不确定我应该做什么。在我的开发机器上工作正常。有什么问题是什么?

1 个答案:

答案 0 :(得分:2)

Heroku使用转发,导致request.remote_ip返回内部heroku ip地址,由于某种原因IpGeocoder无法处理。

尝试使用request.env['HTTP_X_FORWARDED_FOR'] insted。