在上游fpm的nginx上显示500和错误而不是502

时间:2019-04-04 09:42:51

标签: php nginx

我将以我的安装程序正常运行为出发点,以发送所有打算发送<400状态代码的请求。

在我的开发环境中,我确实想将包括错误在内的实际500错误发送给客户端。 nginx不会忽略该错误,但是会记录错误并显示其内置的502页。

我尝试设置fastcgi_intercept_errors off;,尽管这是默认设置,但这也不起作用。

有问题的nginx是来自官方docker容器的1.15.3。

配置为

server {
    listen 80;
    index index.php index.html;
    server_name localhost;

    error_log  /dev/stdout;
    access_log /dev/stdout;

    root /var/www/html/app/public;

    gzip on;

    gzip_vary on;
    gzip_proxied any;
    gzip_comp_level 6;
    gzip_buffers 16 8k;
    gzip_http_version 1.1;
    gzip_types text/plain text/css application/json application/x-javascript application/javascript text/xml application/xml application/xml+rss text/javascript;


location / {
try_files $uri /index.php$is_args$args;
}


    location ~ \.php$ {

        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass php:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_read_timeout 1000;
        fastcgi_intercept_errors off;
    }

}

如果有任何建议,我将很高兴。

最好的问候

更新

事实证明,打开display_errors时,一个简单的异常不会以500响应(这是开发人员的情况)。

我用中间件解决了这个问题。

0 个答案:

没有答案