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 ‘/statusesdo 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

在生产环境中使用 Rails 7 中的 importmaps 时出现 404 错误

Mailform 在本地工作,但不在生产环境中(Heroku、Rails)