我有Nginx设置来反向代理以.PHP结尾的所有文件.在某些脚本中,我检查参数并发送“406 Not Acceptable”作为一般错误,需要从jQuery / Ajax中获取.我可以更改错误,但我希望能够将其发送到客户端.如果我发送406,Nginx将其更改为502 Bad Gateway并注入它自己的错误消息.
它适用于404和403,但这些错误在这种情况下并不真正“适用”;这是一个如此禁止的API并不是一个好的RESTful练习.
我尝试使用fastcgi_intercept_errors,但这似乎没有什么区别.
我正在使用Nginx 0.7.
PHP的一部分:
header($_SERVER['SERVER_PROTOCOL'] . '406 Not Acceptable');
echo '{"error":"Missing Params"}';
exit;
Nginx配置
location ~ .PHP${
fastcgi_intercept_errors on;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.PHP;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
最佳答案