[Fixed] nginx - upstream sent too big header

Discussion in 'Linux Beginners' started by Taxick, May 14, 2023.

  1. Taxick

    Taxick Member

    Hi.
    I have a Ubuntu 22.04 server, and I run nginx and WordPress. But I have some problems with:

    "nginx - upstream sent too big header while reading response header from upstream"

    The site gives: 502 Bad Gateway

    Code:
    2023/05/14 10:23:32 [error] 489662#489662: *1 upstream sent too big header while reading response header from upstream, client: 5.186.54.48, server: futurenode.dk, request: "GET /wp-login.php?redirect_to=https%3A%2F%2Fwww.futurenode.dk%2Fwp-admin%2F&reauth=1 HTTP/2.0", upstream: "fastcgi://unix:/run/php/php8.2-fpm.sock:", host: "www.futurenode.dk"
    2023/05/14 10:23:33 [error] 489662#489662: *1 upstream sent too big header while reading response header from upstream, client: 5.186.54.48, server: futurenode.dk, request: "GET /wp-login.php?redirect_to=https%3A%2F%2Fwww.futurenode.dk%2Fwp-admin%2F&reauth=1 HTTP/2.0", upstream: "fastcgi://unix:/run/php/php8.2-fpm.sock:", host: "www.futurenode.dk"
    2023/05/14 10:24:12 [error] 489662#489662: *1 upstream sent too big header while reading response header from upstream, client: 5.186.54.48, server: futurenode.dk, request: "GET /wp-login.php?action=logout&_wpnonce=21ed9a713d HTTP/2.0", upstream: "fastcgi://unix:/run/php/php8.2-fpm.sock:", host: "www.futurenode.dk", referrer: "https://www.futurenode.dk/wp-admin/profile.php"
    2023/05/14 10:24:31 [error] 489662#489662: *1 upstream sent too big header while reading response header from upstream, client: 5.186.54.48, server: futurenode.dk, request: "GET /wp-login.php?redirect_to=https%3A%2F%2Fwww.futurenode.dk%2Fwp-admin%2F&reauth=1 HTTP/2.0", upstream: "fastcgi://unix:/run/php/php8.2-fpm.sock:", host: "www.futurenode.dk"
    2023/05/14 10:27:06 [error] 490164#490164: *1 upstream sent too big header while reading response header from upstream, client: 5.186.54.48, server: futurenode.dk, request: "GET /wp-login.php?redirect_to=https%3A%2F%2Fwww.futurenode.dk%2Fwp-admin%2F&reauth=1 HTTP/2.0", upstream: "fastcgi://unix:/run/php/php8.2-fpm.sock:", host: "www.futurenode.dk"
    
    My vHost look like this:

    Code:
    server {
    
    
        # Declare the domain name of the website
        server_name futurenode.dk www.futurenode.dk;
    
        # Declare the document root directory
        root  /home/futurenode/www;
    
        client_max_body_size 500M;
    
        access_log /var/log/nginx/futurenode.dk/access.log;
        error_log /var/log/nginx/futurenode.dk/error.log;
    
        index index.html index.php;
    
    
        # Pass PHP files to PHP-FPM listening on /run/php/php8.1-fpm.sock
        location ~ \.php$ {
            try_files $uri =404;
    
            # Mitigate https://httpoxy.org/ vulnerabilities
            fastcgi_param HTTP_PROXY "";
    
            fastcgi_pass unix:/run/php/php8.2-fpm.sock;
            fastcgi_index index.php;
            include fastcgi.conf;
        }
    
        location / {
        
        # Tune Nginx buffers #
    
        proxy_buffer_size   128k;
        proxy_buffers   4 256k;
        proxy_busy_buffers_size   256k;
        
        # rest of the nginx config below #
    
    
        try_files $uri $uri/ /index.php?$args;
    
    
        location ~* /uploads/.*\.php$ {
            return 503;
        }
    
            # Wordfence
            location ~ ^/\.user\.ini {
            deny all;
            }
    
        
        }
    
        location ~ (([^/]*)sitemap(.*)|news|author|video(.*))\.x(m|s)l$ {
        ## SEOPress
        rewrite ^.*/sitemaps\.xml$ /index.php?seopress_sitemap=1 last;
        rewrite ^.*/news.xml$ /index.php?seopress_news=$1 last;
        rewrite ^.*/video.xml$ /index.php?seopress_video=$1 last;
        rewrite ^.*/author.xml$ /index.php?seopress_author=$1 last;
        rewrite ^.*/sitemaps_xsl\.xsl$ /index.php?seopress_sitemap_xsl=1 last;
        rewrite ^.*/sitemaps_video_xsl\.xsl$ /index.php?seopress_sitemap_video_xsl=1 last;
        rewrite ^.*/([^/]+?)-sitemap([0-9]+)?.xml$ /index.php?seopress_cpt=$1&seopress_paged=$2 last;
    
        }
    
        listen [::]:443 ssl http2; # managed by Certbot
        listen 443 ssl http2; # managed by Certbot
        ssl_certificate /etc/letsencrypt/live/futurenode.dk/fullchain.pem; # managed by Certbot
        ssl_certificate_key /etc/letsencrypt/live/futurenode.dk/privkey.pem; # managed by Certbot
        #include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
        ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
        add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";
        ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
     }
    
    server {
        if ($host = www.futurenode.dk) {
            return 301 https://$host$request_uri;
        } # managed by Certbot
    
    
        if ($host = futurenode.dk) {
            return 301 https://$host$request_uri;
        } # managed by Certbot
    
    
        listen 80;
        listen [::]:80;
        server_name futurenode.dk www.futurenode.dk;
        return 404; # managed by Certbot
    }
    
    I have followed the info from this guide: https://www.howtoforge.com/nginx-up...r-while-reading-response-header-from-upstream

    Hope someone can help me.
     
    ahrasis likes this.
  2. Taxick

    Taxick Member

    I used this instead:
    Code:
    fastcgi_buffers 16 16k;
    fastcgi_buffer_size 32k;
     
    ahrasis likes this.
  3. ahrasis

    ahrasis Well-Known Member HowtoForge Supporter

    Thank you for sharing your problem and its solution. Might be useful for me and others that are running Ubuntu 22.04 nginx web server as well.
     

Share This Page