nginx / passenger配置允许访问自定义标头

时间:2013-06-28 01:15:24

标签: ruby-on-rails nginx passenger

我正在使用一个名为auth_token的自定义标头,我将其传递给我的rails后端。在localhost / webrick上,我可以访问:

curl -H "auth_token: r5O_IdqpWStqmJFe0pil0Q" http://localhost:3000

可以通过以下方式访问标题值:

auth_token=request.headers["auth_token"] if request.headers["auth_token"]. 

但是,当我使用:

访问登台(nginx / passenger)时
curl -H "auth_token: r5O_IdqpWStqmJFe0pil0Q" http://staging.domain.com/

无法访问标头值。我需要对nginx / passenger进行任何配置以允许它访问此自定义标头吗?

THX

2 个答案:

答案 0 :(得分:5)

修复是:

underscores_in_headers on;

http://wiki.nginx.org/HttpCoreModule#underscores_in_headers

答案 1 :(得分:1)

如果您使用nginx代理模块向乘客转发请求,则需要明确转发此自定义标头:

proxy_set_header auth_token $http_auth_token;

参考文献:

http://wiki.nginx.org/HttpProxyModule#proxy_set_header

http://wiki.nginx.org/HttpCoreModule#.24http_HEADER