ger*_*s12 4 passenger nginx ruby-on-rails-3
我正在运行带有PhusionPassenger和NGINX的Rails 3.1.我通过一个简单的HttpClient(OS X的GrahpicalHttpClient)发送请求.我的代码需要标头中的标记和ID来验证调用者的真实性.在开发模式下,这没有问题,但是一旦我将其转移到生产中,标题变量就会丢失.没有显示任何内容.
这是代码:
@caller = Person.check_authentication_token(request.headers['person_id'], request.headers['authentication_token'])
Run Code Online (Sandbox Code Playgroud)
如果任一变量为nil,则check_authentication_token方法返回nil.正如我所说,这在开发中工作得很好但是request.headers ['person_id']和request.headers ['authentication_token']在生产中都是零.有没有人以前见过这个问题?
jqr*_*jqr 13
Nginx默认将请求标头中的下划线视为无效并随后将其删除,请参阅http://wiki.nginx.org/HttpCoreModule#underscores_in_headers以了解如何解决此问题.