Hello everyone, error 500 always pops up, while php loads almost 100% of the processor in the logs:

upstream timed out (110: Connection timed out) while reading response header from upstream 

My configs:

 # Server globals
 user www-data;
 worker_processes auto;
 error_log /var/log/nginx/error.log;
 pid /var/run/nginx.pid;


 # Worker config
 events {
         worker_connections 2048;
         use epoll;
         multi_accept on;
 }


 http {
     # Main settings
     sendfile on;
     tcp_nopush on;
     tcp_nodelay on;
     client_header_timeout 1m;
     client_body_timeout 1m;
     client_header_buffer_size 2k;
     client_body_buffer_size 256k;
     client_max_body_size 256m;
     large_client_header_buffers 4 8k;
     send_timeout 30;
     keepalive_timeout 60 60;
     reset_timedout_connection on;
     server_tokens off;
     server_name_in_redirect off;
     server_names_hash_max_size 512;
     server_names_hash_bucket_size 512;


     # Log format
     log_format main '$ remote_addr - $ remote_user [$ time_local] $ request'
                         '"$ status" $ body_bytes_sent "$ http_referer"'
                         '"$ http_user_agent" "$ http_x_forwarded_for"';
     log_format bytes '$ body_bytes_sent';
     #access_log /var/log/nginx/access.log main;
     access_log off;


     # Mime settings
     include /etc/nginx/mime.types;
     default_type application / octet-stream;


     # Compression
     gzip on;
     gzip_comp_level 9;
     gzip_min_length 512;
     gzip_buffers 8 64k;
     gzip_types text / plain text / css application / json application / javascript text / xml application / xml application / xml + rss text / javascript image / svg + xml application / x-font-ttf font / opentype;
     gzip_proxied any;


     # Proxy settings
     proxy_redirect off;
     proxy_set_header Host $ host;
     proxy_set_header X-Real-IP $ remote_addr;
     proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for;
     proxy_pass_header Set-Cookie;
     proxy_connect_timeout 10m;
     proxy_send_timeout 10m;
     proxy_read_timeout 10m;
     proxy_buffers 32 4k;


     # Cloudflare https://www.cloudflare.com/ips
     set_real_ip_from 199.27.128.0/21;
     set_real_ip_from 173.245.48.0/20;
     set_real_ip_from 103.21.244.0/22;
     set_real_ip_from 103.22.200.0/22;
     set_real_ip_from 103.31.4.0/22;
     set_real_ip_from 141.101.64.0/18;
     set_real_ip_from 108.162.192.0/18;
     set_real_ip_from 190.93.240.0/20;
     set_real_ip_from 188.114.96.0/20; 
     set_real_ip_from 197.234.240.0/22;
     set_real_ip_from 198.41.128.0/17;
     set_real_ip_from 162.158.0.0/15;
     set_real_ip_from 104.16.0.0/12;
     set_real_ip_from 172.64.0.0/13;
     #set_real_ip_from 2400: cb00 :: / 32;
     #set_real_ip_from 2606: 4700 :: / 32;
     #set_real_ip_from 2803: f800 :: / 32;
     #set_real_ip_from 2405: b500 :: / 32;
     #set_real_ip_from 2405: 8100 :: / 32;
     real_ip_header CF-Connecting-IP;


     # Error pages
     error_page 403 /error/403.html;
     error_page 404 /error/404.html;
     error_page 502 503 504 /error/50x.html;


     # Cache
     proxy_cache_path / var / cache / nginx levels = 2 keys_zone = cache: 10m inactive = 60m max_size = 512m;
     proxy_cache_key "$ host $ request_uri $ cookie_user";
     proxy_temp_path / var / cache / nginx / temp;
     proxy_ignore_headers Expires Cache-Control;
     proxy_cache_use_stale error timeout invalid_header http_502;
     proxy_cache_valid any 3d;

     map $ http_cookie $ no_cache {
         default 0;
         ~ SESS 1;
         ~ wordpress_logged_in 1;
     }


     # Wildcard include
     include /etc/nginx/conf.d/*.conf;
 }

Help solve the problem. Thanks in advance

  • one
    Apparently something in the script works for a long time (for example, a large sql query) and does not have time to answer nginx in a minute. - Dmitry Kozlov
  • When performing which requests exactly, does 500 error occur? What operation do you do on the site? - MAN69

0