rails中使用grape做api,生产环境用nginx做代理,获取真实的ip
Posted Still_Walking
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rails中使用grape做api,生产环境用nginx做代理,获取真实的ip相关的知识,希望对你有一定的参考价值。
Grape官方网站上给出如下的代码,但我用了nginx代理,接收到的都是127.0.0.1
class API < Grape::API
helpers do
def logger
API.logger
end
end
post ‘/statuses‘ do
logger.info "#{current_user} has statused"
end
end
后来打印了header记录发现里面有真实的ip,可以通过headers[‘X-Forwarded-For‘].to_s获取真实的ip。
以上是关于rails中使用grape做api,生产环境用nginx做代理,获取真实的ip的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Ruby on Rails 中为我的开发和生产环境设置不同的 api 密钥?
Rack-cors 未在 swagger-ui_rails 的生产环境中显示标题
ruby on rails 4 - 捆绑安装grape-jbuilder
Rails:在生产环境中配置记录器以使用 Papertrail