我在使用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
我不确定我应该做什么。在我的开发机器上工作正常。有什么问题是什么?
答案 0 :(得分:2)
Heroku使用转发,导致request.remote_ip
返回内部heroku ip地址,由于某种原因IpGeocoder无法处理。
尝试使用request.env['HTTP_X_FORWARDED_FOR']
insted。