2014-08-28 23 views
0

我正在iOS和Android中使用Rails 4 API后端和移动应用程序。使用Nginx和Unicorn。请求中的自定义标头不会显示在Rails后端

要获取某些数据,密码员必须在请求的标题中向我发送(除其他外)用户标识。我们使用自定义标题,例如WWW_CUSTOM_NAME,解释here。我知道,在轨道4,我可以做这样的事情

request.headers["HTTP_WWW_CUSTOM_NAME"] 

事实上捕捉这些自定义页眉的价值,这个工作每一次我和我的团队在开发工作。但是,当我们将代码推送到生产服务器时,该方法无效。

这几乎就像自定义标题已停产。我尝试了同样的事情,没有额外的“HTTP_”,删除了大写字母,没有任何工作。但在开发作品没关系。

任何想法,为什么这一定是?

+0

您是否在生产中使用nginx? – usha 2014-08-28 21:22:09

回答

5

如果使用nginx的,this可能是你的问题

你有两个选择

  1. 更改您的自定义标题使用X-WWW-CUSTOM-NAME
  2. 打开underscores_in_headers

第一种选择会更好,我认为

+0

我正在使用Nginx,忘了提及。为了澄清,客户端应该发送一些类似“X-WWW-CUSTOM-NAME”的东西?如果是这样,那么我应该像“HTTP-X-WWW-CUSTOM-NAME”一样来提取它吗? – Sebastialonso 2014-08-28 21:42:16

+1

你可以像request.headers [“X-WWW-CUSTOM-NAME”]一样访问它' – usha 2014-08-28 21:47:45

+0

是的,我可以。我在5分钟前尝试了它,并且它工作正常。非常感谢你。接受的答案。 – Sebastialonso 2014-08-28 21:49:08

相关问题