Hello!
2015-01-28 2:07 GMT-08:00 Zheng Ping:
> 可是nginx 1.6.0的机器就是代理不了,我的ngx_lua的报错为:
> bad "upgrade" request header
> 我把header中的upgrade字段打印出来发现其值为nil,我不太懂问题主要在哪里?
>
> 我的两台服务器的主要区别在于能代理的nginx 1.5.8服务运行在内网的测试环境,而nginx 1.6.0那台机器运行于阿里云上.
>
如果你在内网测试环境使用完全一样的 nginx 1.6.0 及其配置,能复现问题吗?如果不能,则可以排除因软件和配置上的差异而导致问题的可能性。
另一种可能是阿里云的网关故意过滤掉了 Upgrade 请求头。你可以使用 tcpdump 这样的工具确认一下吗?当然,使用 ngx_lua
自己的 ngx.req.raw_header() 接口 [1] 也可以把收到的原始请求头给打印到错误日志里面。
值得一提的是,为避免已知的不必要的问题和麻烦,建议总是使用最新的 OpenResty 发布:
http://openresty.org/#Download
Regards,
-agentzh
[1] https://github.com/openresty/lua-nginx-module#ngxreqraw_header