【发布时间】:2015-02-27 18:44:31
【问题描述】:
我有一个最近升级到 Rails 4.2.0 的应用程序。在这个应用程序中,我请求一个小型 API 的访问令牌。在 API 控制器中,我试图获取这个令牌。我正在使用 POSTman 进行测试,向我的本地机器发送请求,使用开发或生产运行它,效果很好。向 nginx phusion 乘客服务器发送请求不会产生任何结果,根据日志,令牌为零。
POSTman 请求
headers: access_token: '12345'
API 控制器
@access_token = request.headers['HTTP_ACCESS_TOKEN']
当我在某处阅读时,标头以 http 前缀全部大写 - 我现在似乎无法找到,这是正确的设置。我的 rails 3.2 应用程序用于读取没有前缀标题的小写字母,并且可以正常工作。升级到 4.2.0 后,此功能在本地中断。添加前缀和大写读入解决了本地开发和生产模式的问题。但是,一旦部署,标头似乎总是为零。
由于我可以在生产模式下本地运行并且这很有效,因此我很难弄清楚部署后会发生什么。这是nginx还是乘客的东西?我对 nginx 很陌生,我在这里遗漏了什么吗?您能提供的任何帮助将不胜感激。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 nginx http-headers passenger