Puncte:2

de ce este nginx timeout-ing?

drapel ro

Iată conf. nginx legate de timeout-ul meu:

http {

...

proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_send_timeout 300;

...

}

și configurarea mea inversă proxy:

nod în amonte {
        server 127.0.0.1:2200;
}

Server {
  asculta 80;
 
  Locație / {
        proxy_pass http://node;
    }
}


Postez o interogare pe serverul meu web și nginx expiră după 1 minut cu următorul mesaj:

2021/07/16 14:35:42 [eroare] 881124#881124: *14744 în amonte expirat (110: Conexiune a expirat) în timp ce citiți antetul răspunsului din amonte, client: 172.68.144.214, server: , cerere: „POST / photos/download_photos HTTP/1.1", în amonte: "http://127.0.0.1:2200/photos/download_photos", gazdă: "myhost.com", referitor: "https://myhost.com/"

Ieșire din sudo nginx -T :

nginx: sintaxa fișierului de configurare /etc/nginx/nginx.conf este ok
nginx: fișierul de configurare /etc/nginx/nginx.conf testul a reușit
# fișier de configurare /etc/nginx/nginx.conf:
utilizator www-date;
worker_proceses auto;
pid /run/nginx.pid;
includ /etc/nginx/modules-enabled/*.conf;

evenimente {
        conexiuni_muncitor 768;
        # multi_accept on;
}

http {

        ##
        # Setări de bază
        ##

        sendfile activat;
        tcp_nopush activat;
        tcp_nodelay activat;
        keepalive_timeout 65;
        types_hash_max_size 2048;
        # server_tokens off;

        # server_names_hash_bucket_size 64;
        # server_name_in_redirect off;

        client_max_body_size 100m;
        includ /etc/nginx/mime.types;
        aplicație de tip_default/octet-stream;

        ##
        # Setări SSL
        ##

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Eliminarea SSLv3, ref: POODLE
        ssl_prefer_server_ciphers activat;

        ##
        # Setări de înregistrare
        ##

        access_log /var/log/nginx/access.log;
        error_log /var/log/nginx/error.log;

        ##
        # Setări Gzip
        ##

        gzip on;

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

        ##
        # Configurații gazdă virtuală
        ##

        includ /etc/nginx/conf.d/*.conf;
        includ /etc/nginx/sites-enabled/*;

        proxy_read_timeout 300;
        proxy_connect_timeout 300;
        proxy_send_timeout 300;
}


#Poștă {
# # Vezi exemplu de script de autentificare la:
# # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
#
# # auth_http localhost/auth.php;
# # pop3_capabilities „TOP” „USER”;
# # imap_capabilities „IMAP4rev1” „UIDPLUS”;
#
#       Server {
# asculta localhost:110;
# protocol pop3;
# proxy activat;
#}
#
#       Server {
# asculta localhost:143;
# protocol imap;
# proxy activat;
#}
#}

# fișier de configurare /etc/nginx/modules-enabled/50-mod-http-image-filter.conf:
load_module modules/ngx_http_image_filter_module.so;

# fișier de configurare /etc/nginx/modules-enabled/50-mod-http-xslt-filter.conf:
load_module modules/ngx_http_xslt_filter_module.so;

# fișier de configurare /etc/nginx/modules-enabled/50-mod-mail.conf:
load_module modules/ngx_mail_module.so;

# fișier de configurare /etc/nginx/modules-enabled/50-mod-stream.conf:
load_module modules/ngx_stream_module.so;

# fișier de configurare /etc/nginx/mime.types:

tipuri {
    text/html html htm shtml;
    text/css css;
    text/xml xml;
    imagine/gif gif;
    imagine/jpeg jpeg jpg;
    aplicație/javascript js;
    aplicație/atom+xml atom;
    aplicație/rss+xml rss;

    text/mathml mml;
    text/txt simplu;
    text/vnd.sun.j2me.app-descriptor jad;
    text/vnd.wap.wml wml;
    text/x-component htc;

    imagine/png png;
    imagine/tiff tif tiff;
    imagine/vnd.wap.wbmp wbmp;
    imagine/x-icoană ico;
    imagine/x-jng jng;
    imagine/x-ms-bmp bmp;
    imagine/svg+xml svg svgz;
    imagine/webp webp;

    aplicație/font-woff woff;
    aplicație/java-arhivă jar war ear;
    aplicație/json json;
    aplicație/mac-binhex40 hqx;
    aplicație/msword doc;
    cerere/pdf pdf;
    aplicație/postscript ps eps ai;
    aplicație/rtf rtf;
    application/vnd.apple.mpegurl m3u8;
    application/vnd.ms-excel xls;
    application/vnd.ms-fontobject eot;
    application/vnd.ms-powerpoint ppt;
    application/vnd.wap.wmlc wmlc;
    application/vnd.google-earth.kml+xml kml;
    application/vnd.google-earth.kmz kmz;
    aplicație/x-7z-comprimat 7z;
    aplicare/x-cacao cco;
    application/x-java-archive-diff jardiff;
    aplicație/x-java-jnlp-fișier jnlp;
    aplicație/x-makeself rulează;
    application/x-perl pl pm;
    application/x-pilot prc pdb;
    application/x-rar-compressed rar;
    application/x-redhat-package-manager rpm;
    aplicare/x-mare mare;
    aplicație/x-shockwave-flash swf;
    application/x-stuffit sit;
    aplicație/x-tcl tcl tk;
    application/x-x509-ca-cert der pem crt;
    aplicație/x-xpinstall xpi;
    aplicație/xhtml+xml xhtml;
    aplicație/xspf+xml xspf;
    aplicare/zip zip;

    aplicație/octet-stream bin exe dll;
    application/octet-stream deb;
    application/octet-stream dmg;
    application/octet-stream iso img;
    aplicație/octet-stream msi msp msm;

    application/vnd.openxmlformats-officedocument.wordprocessingml.document docx;
    application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx;
    application/vnd.openxmlformats-officedocument.presentationml.presentation pptx;

    audio/midi mid midi kar;
    audio/mpeg mp3;
    audio/ogg ogg;
    audio/x-m4a m4a;
    audio/x-realaudio ra;

    video/3gpp 3gpp 3gp;
    video/mp2t ts;
    video/mp4 mp4;
    video/mpeg mpeg mpg;
    video/quicktime mov;
    video/webm webm;
    video/x-flv flv;
    video/x-m4v m4v;
    video/x-mng mng;
    video/x-ms-asf asx asf;
    video/x-ms-wmv wmv;
    video/x-msvideo avi;
}

# fișier de configurare /etc/nginx/sites-enabled/reverse-proxy:
nod în amonte {
        server 127.0.0.1:2200;
}


Server {
  asculta 80;
 # server_name tools.tryandreview.com;

  Locație / {
        proxy_pass http://node;
    }
}

De ce nginx nu ia în considerare setarea mea? Sau imi scapa ceva?

drapel us
Sunteți sigur că aplicația dvs. de nod returnează un răspuns în cinci minute?
drapel ro
multumesc pentru raspuns. Da, sunt.
drapel ro
Și, în orice caz, expiră după 1 minut.
mforsetti avatar
drapel tz
`ETIMEDOUT` sau eroarea #110 este afișată când [clientul nu se poate conecta la o priză după o anumită perioadă de timp](https://man7.org/linux/man-pages/man2/connect.2.html#ERRORS ). ești sigur că nodul tău ascultă pe `127.0.0.1:2200`? încercați `curl`-ing în aplicația dvs. de nod.
drapel ro
Funcționează bine pentru interogările care nu durează mai mult de un minut, așa că sunt sigur că nodul ascultă.
drapel ro
Ar putea avea ceva de-a face cu autorizarea utilizatorului, adică sudo vs non sudo? Trebuie să folosesc întotdeauna sudo pentru a edita conf și/sau a imprima nginx -T etc.
drapel in
Cred că ai ratat un timeout `send_timeout 300s;`
djdomi avatar
drapel za
Pentru Duplicity trebuia să folosesc `proxy_connect_timeout 600; proxy_send_timeout 600; proxy_read_timeout 600; send_timeout 600;` ar putea, de asemenea, o idee bună să folosiți memcached pentru a stoca în cache unele interogări, dacă doriți să faceți acest lucru `set $memcached_key "$uri?$args"; memcached_pass 127.0.0.1:11211;` ar fi o opțiune bună pentru a rezolva astfel de probleme de răspuns
djdomi avatar
drapel za
Am găsit și o altă configurație perl a nginx `client_header_timeout 3600; client_body_timeout 3600; fastcgi_read_timeout 3600;`
mforsetti avatar
drapel tz
[`proxy_connect_timeout`](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_connect_timeout) are o limită strictă de 75 de secunde, dar dacă interogările mai scurte sunt bine, atunci faza de „conectare” ar trebui să fie bună, Faza `citire` ar avea probleme. încercați să rulați cu `error_log debug` și vedeți ce iese înainte să expire.
Puncte:1
drapel in

Există un timeout care lipsește

send_timeout 300s;

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.