我正在使用一个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
我不知道那时候该怎么办。在我的开发机器上运行良好。有什么线索吗?
Heroku使用转发,导致request.remote_ip
返回内部Heroku ip地址,由于某些原因,IpGeocoder无法处理该地址。
请尝试按说明使用request.env['HTTP_X_FORWARDED_FOR']
。