请求中的自定义标头未显示在Rails后端中

Seb*_*nso 0 ruby-on-rails http ruby-on-rails-4

我正在iOS中的Android中使用Rails 4 API后端和移动应用程序.使用Nginx和Unicorn.

要获取某些数据,cliens必须在请求的标题中向我发送(以及其他内容)用户ID.我们正在使用自定义标头,例如WWW_CUSTOM_NAME,此处说明.我知道在Rails 4中,我可以通过执行类似的操作捕获这些自定义标头中的值

request.headers["HTTP_WWW_CUSTOM_NAME"]
Run Code Online (Sandbox Code Playgroud)

事实上,我和我的团队每次都在开发中工作.但是当我们将代码推送到生产服务器时,这种方法并不起作用.

这几乎就像自定义标题在生产中消失了.我尝试了同样的事情,没有额外的"HTTP_",删除大写字母,没有任何效果.但在开发工作中没问题.

知道为什么一定是这个吗?

ush*_*sha 8

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

你有两个选择

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

我认为第一种选择会更好