FastCGI和Nginx - 返回HTTP状态

Dwa*_*ull 7 fastcgi nginx

我在Nginx后面有一个自定义的FastCGI应用程序,我很难让Nginx返回除200状态代码之外的任何东西.

我尝试过以下方法:

  • 设置fast_cgi_intercept_errors.

  • 通过ApplicationStatus在中返回代码EndRequest.

  • 返回StdError流上的错误.

  • 发送以下任何标头:

    • "状态:404未找到"

    • "找不到HTTP/1.1 404"

    • "X-PHP-Response-Code:404"

    • "状态:404未找到;"

    • "找不到HTTP/1.1 404;"

    • "X-PHP-Response-Code:404;"

任何帮助都会很棒,我很困难.

neo*_*eye 6

nginx 丢弃"HTTP/1.1 304 Not Modified\r\n".

nginx 使用(并吃掉)Status标头。

如果我的 fastcgi 程序返回 header "Status: 304\r\n"

然后我得到这个回应:

HTTP/1.1 304
Server: nginx/1.6.2
Date: Sat, 21 May 2016 10:49:27 GMT
Connection: keep-alive
Run Code Online (Sandbox Code Playgroud)

如您所见,没有Status: 304标题。已经被nginx吃掉了。