Hello!
2012/10/26 朱茂海:
> 有点不明白,为什么子请求响应码是504,父请求响应码是200而不是504呢。
>
子请求的响应不会自动为父请求所继承。无论是响应码还是响应头,抑或者响应体,都不会自动为父请求继承。
如果你希望父请求继承某个子请求的响应码,可以使用下面这一行 Lua 语句,把子请求的响应码赋予父请求的响应:
ngx.status = res.status
假设这里的 res 变量是对应的 ngx.location.capture() 返回的结果。关于 ngx.status 接口的细节,可以参见文档:
http://wiki.nginx.org/HttpLuaModule#ngx.status
父请求和子请求本来就是独立的请求对象,我不明白你从何断定二者的响应应当自动保持一致,毕竟 ngx.location.capture 的文档里也没有这种规定。
Best regards,
-agentzh