La recuperación del backend falló: el barniz no recupera el backend de Drupal

La recuperación del backend falló: el barniz no recupera el backend de Drupal

Ejecuto una aplicación drupal 7 (3 backends) y tengo 3 servidores de barniz que se niegan continuamente a recuperar el backend. He leído muchos errores similares aquí pero todavía no puedo resolver mi problema, al arrojar 503 la búsqueda de barniz falló en la meditación del gurú. He leído todas las publicaciones aquí, y todas parecían recomendar un tiempo de espera alto, lo configuré en 600 y muchos no recomiendan .probe, tengo round.robin (cambiando el backend) y aquí está mi configuración de backend:

backend project1 {
.host = "myhost.ip";
.port = "80";
.connect_timeout = 600s;
.first_byte_timeout = 600s;

.probe = {
.timeout = 600s;
.interval = 10s;
.window = 5;
.threshold = 2;
.request =
"GET HTTP/1.1"
"Host: example.com"
"Connection: close";
}
}

He monitoreado mi registro de errores y mi registro de acceso, por cierto, y noté que tengo demasiados errores como este, pero no quiero que seas parcial.

[info] Client prematurely closed connection (broken pipe)

y aveces

reqv failed

Como nota al margen, quiero mencionar también que todavía tengo un error de cgi rápido, pero no creo que tenga relación con mi error de barniz:

Primary Script unknown  ......, fastcgi, upstream:127.0.0.1

Ejecuto nginx+php-fpm a través de fast-cgi. No estoy realmente seguro de qué configuración de barniz espera del backend que hace que se niegue a buscarlo.

Sucedió que una configuración de nginx incorrecta me dio este error antes, así que aquí está mi configuración de nginx:

user nginx nginx;
worker_processes 4;

error_log /var/log/nginx/error.log info;

events {
    worker_connections 8192;
    multi_accept    on;
    use epoll;
}
worker_rlimit_nofile 64000;
http {
    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    log_format main
            '$remote_addr - $remote_user [$time_local] '
            '"$request" $status $bytes_sent '
            '"$http_referer" "$http_user_agent" ';

    client_header_timeout 10m;
    client_max_body_size 100m;
    client_body_timeout 10m;
    send_timeout 10m;
    client_body_buffer_size 3m;
    connection_pool_size 256;
    client_header_buffer_size 1k;
    large_client_header_buffers 4 2k;
    request_pool_size 32k;

    gzip            on;
    gzip_vary on;
    gzip_disable "MSIE [1-6]\.";
    gzip_min_length 10240;
    gzip_proxied    expired no-cache no-store private auth;
    gzip_types      text/plain application/xml;

    open_file_cache         max=2000 inactive=20s;
    open_file_cache_valid   60s;
    open_file_cache_min_uses        5;
    open_file_cache_errors          off;

    output_buffers 1 32k;
    postpone_output 1460;
    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    fastcgi_send_timeout 1800;
    fastcgi_read_timeout 1800;
    fastcgi_connect_timeout 1800;
    fastcgi_ignore_client_abort on;
    keepalive_timeout 75 20;
    ignore_invalid_headers on;
    index index.html;

    server {
            listen 80;
            server_name  example.com;
            rewrite ^(.*) http://example.com$1 permanent;
            }
    server {
            listen 80;
            server_name www.example.com;
            access_log /var/log/nginx/access.log main;
            error_log /var/log/nginx/error.log info;              
            root /var/www/public;
            index index.php index.phtml index.html;
            autoindex on;

            gzip_types text/plain text/css application/json application/x-ja
vascript text/xml application/xml application/xml+rss text/javascript applicatio
n/javascript;

            location ~ \..*/*\.php$ {
                    return 403;
            }
            location ~^/sites/.*/private/{
                    return 403;
            }
            location ~^/sites/.*/files/* {
                    try_files $uri @rewrite;
            }
            location ~ (^|/)\. {
                    return 403;
            }

            location / {

                    try_files $uri @rewrite;
                    }
            location @rewrite {
                    rewrite ^ /index.php;

            }
            location ~ \.php$ {
                    try_files $uri @rewrite;
                    #fastcgi_pass unix:/var/run/php5-fpm.sock;
                    fastcgi_pass 127.0.0.1:9000;
                    fastcgi_index  index.php;
             fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                    fastcgi_buffer_size 128k;
                    fastcgi_buffers 256 16k;
                    fastcgi_busy_buffers_size 256k;
                    fastcgi_temp_file_write_size 256k;
                    fastcgi_keep_conn       off;
                    include /etc/nginx/fastcgi_params;

                    }


            location ~* \.(jpg|jpeg|css|gif|png|js|ico|xml)$ {

                    try_files $uri $uri/ ;
                    access_log off;
                    log_not_found   off;
                    expires 30d;
                    }

}

¿Alguien puede indicarme en qué dirección depurar este problema? Probablemente estoy seguro, pb está en mi backend en lugar de mi barniz, pero no estoy seguro de por qué el sitio web a veces se carga y, a veces, arroja un directo/horrible "error en la búsqueda del backend 503 - meditación del gurú". gracias por tu valiosa ayuda.

ACTUALIZAR:

la solución fue desactivar gzip. Tenía un contenido vacío y redireccioné en la página de inicio, por lo que gzip+ header-content-length=0 (vacío) activó una bandera roja para barnizar, barniz etiquetado como no saludable para comprimir algo con tamaño 0. Encabezado incorrecto. Desactivar gzip o devolver parte del contenido a la respuesta del servidor solucionaría este problema

Respuesta1

En tu .requestno parece haber especificado ningún documento. Por lo tanto, supongo que está intentando cargar todo su sitio Drupal como sonda. Podrías cambiar esto a:

"GET /sitehealth.html HTTP/1.1"

donde sitehealth.htmlhay solo un archivo de texto simple que la sonda puede cargar.

Para solucionar más problemas, ¿puede desactivar las sondas por completo y ver si eso marca la diferencia? ¿Recibes algún error al acceder al sitio web directamente, sin pasar por el caché?

Básicamente, obtenga la configuración más simple que funcione de manera confiable y luego agregue funciones adicionales una a la vez hasta que encuentre algo que se rompa.

información relacionada