我的代码尝试从rails中的头文件中读取auth_token。
def authenticate_through_header
custom_header_value = request.headers['HTTP_AUTH_TOKEN']
end
这对https服务器不起作用,但适用于http服务器。
有什么想法吗?
答案 0 :(得分:0)
事实证明,我需要使用密钥HTTP_X_AUTH_TOKEN才能获取值。我还需要在我的所有自定义标头之前添加X-,否则网络服务器无法识别自定义标头。
答案 1 :(得分:0)
我自己也会遇到这个问题,并使用完全相同的标题名称。
找到答案here
如果没有在on;上明确设置underscores_in_headers,则nginx将静默删除带有下划线的HTTP标头(根据HTTP标准,这些标头完全有效)。这样做是为了防止在将标头映射到CGI变量时出现歧义,因为短划线和下划线都会在该过程中映射到下划线。
我假设您的实时服务器是使用nginx作为反向代理的https,而开发版本只是美洲狮或类似的。