Score:2

เหตุใด nginx จึงหมดเวลาใช้งาน

ธง ro

นี่คือการหมดเวลาของฉันที่เกี่ยวข้องกับ nginx conf :

http {

...

proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_send_timeout 300;

...

}

และการตั้งค่าพร็อกซีย้อนกลับของฉัน:

โหนดต้นน้ำ {
        เซิร์ฟเวอร์ 127.0.0.1:2200;
}

เซิร์ฟเวอร์ {
  ฟัง 80;
 
  ที่ตั้ง / {
        proxy_pass http://node;
    }
}


ฉันกำลังโพสต์แบบสอบถามไปยังเว็บเซิร์ฟเวอร์ของฉันและ nginx หมดเวลาหลังจาก 1 นาทีพร้อมข้อความต่อไปนี้:

2021/07/16 14:35:42 [ข้อผิดพลาด] 881124#881124: *14744 อัปสตรีมหมดเวลา (110: การเชื่อมต่อหมดเวลา) ขณะอ่านส่วนหัวการตอบสนองจากอัปสตรีม ไคลเอ็นต์: 172.68.144.214 เซิร์ฟเวอร์: คำขอ: "POST / รูปภาพ/download_photos HTTP/1.1", อัปสตรีม: "http://127.0.0.1:2200/photos/download_photos", โฮสต์: "myhost.com", ผู้อ้างอิง: "https://myhost.com/"

ผลลัพธ์ของ sudo nginx -T :

nginx: ไฟล์การกำหนดค่า /etc/nginx/nginx.conf ไวยากรณ์ใช้ได้
nginx: การทดสอบไฟล์การกำหนดค่า /etc/nginx/nginx.conf สำเร็จ
# ไฟล์กำหนดค่า /etc/nginx/nginx.conf:
ผู้ใช้ www-data;
worker_processes อัตโนมัติ
pid /run/nginx.pid;
รวม /etc/nginx/modules-enabled/*.conf;

เหตุการณ์ {
        worker_connections 768;
        # multi_accept บน;
}

http {

        ##
        # การตั้งค่าพื้นฐาน
        ##

        ส่งไฟล์บน;
        tcp_nopush บน;
        tcp_nodelay บน;
        keepalive_timeout 65;
        types_hash_max_size 2048;
        # ปิด server_tokens;

        # server_names_hash_bucket_size 64;
        # server_name_in_redirect ปิด;

        client_max_body_size 100m;
        รวม /etc/nginx/mime.types;
        แอปพลิเคชัน default_type/octet-stream;

        ##
        # การตั้งค่า SSL
        ##

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # วาง SSLv3 อ้างอิง: พุดเดิ้ล
        เปิด ssl_prefer_server_ciphers;

        ##
        # การตั้งค่าการบันทึก
        ##

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

        ##
        # การตั้งค่า Gzip
        ##

        เปิด gzip;

        # gzip_vary บน;
        # gzip_proxyed ใด ๆ ;
        # gzip_comp_level 6;
        # gzip_buffers 16 8k;
        # gzip_http_version 1.1;
        # gzip_types ข้อความ/ข้อความล้วน/แอปพลิเคชัน css/แอปพลิเคชัน json/ข้อความจาวาสคริปต์/แอปพลิเคชัน xml/แอปพลิเคชัน xml/xml+rss ข้อความ/จาวาสคริปต์;

        ##
        # การกำหนดค่าโฮสต์เสมือน
        ##

        รวม /etc/nginx/conf.d/*.conf;
        รวม /etc/nginx/sites-enabled/*;

        proxy_read_timeout 300;
        proxy_connect_timeout 300;
        proxy_send_timeout 300;
}


#จดหมาย {
# # ดูตัวอย่างสคริปต์การตรวจสอบได้ที่:
# # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
#
# # auth_http localhost/auth.php;
# # pop3_capabilities "TOP" "ผู้ใช้";
# # imap_capabilities "IMAP4rev1" "UIDPLUS";
#
# เซิร์ฟเวอร์ {
# ฟัง localhost:110;
#โปรโตคอลpop3;
# เปิดพร็อกซี;
# }
#
# เซิร์ฟเวอร์ {
# ฟัง localhost:143;
# โปรโตคอล imap;
# เปิดพร็อกซี;
# }
#}

# ไฟล์กำหนดค่า /etc/nginx/modules-enabled/50-mod-http-image-filter.conf:
load_module โมดูล/ngx_http_image_filter_module.so;

# ไฟล์กำหนดค่า /etc/nginx/modules-enabled/50-mod-http-xslt-filter.conf:
load_module โมดูล/ngx_http_xslt_filter_module.so;

# ไฟล์กำหนดค่า /etc/nginx/modules-enabled/50-mod-mail.conf:
load_module โมดูล/ngx_mail_module.so;

# ไฟล์การกำหนดค่า /etc/nginx/modules-enabled/50-mod-stream.conf:
load_module โมดูล/ngx_stream_module.so;

# ไฟล์กำหนดค่า /etc/nginx/mime.types:

ประเภท {
    ข้อความ/html html htm shtml;
    ข้อความ/css css;
    ข้อความ/xml xml;
    รูปภาพ/gif gif;
    รูปภาพ/jpeg jpeg jpg;
    แอปพลิเคชัน/จาวาสคริปต์ js;
    แอ็พพลิเคชัน/atom+xml อะตอม;
    แอปพลิเคชัน/rss+xml rss;

    ข้อความ/mathml mml;
    ข้อความ/ธรรมดา txt;
    text/vnd.sun.j2me.app-descriptor jad;
    ข้อความ/vnd.wap.wml wml;
    ข้อความ/x-คอมโพเนนต์ htc;

    รูปภาพ/png png;
    รูปภาพ/tiff tif tiff;
    ภาพ/vnd.wap.wbmp wbmp;
    ไอคอนรูปภาพ/x-icon;
    ภาพ/x-jng jng;
    ภาพ/x-ms-bmp bmp;
    ภาพ/svg+xml svg svgz;
    รูปภาพ/เว็บเพจ เว็บเพจ;

    แอปพลิเคชัน/ฟอนต์-woff woff;
    แอปพลิเคชัน / java-archive jar war ear;
    แอปพลิเคชัน/json json;
    แอปพลิเคชัน/mac-binhex40 hqx;
    เอกสารแอปพลิเคชัน/msword;
    ใบสมัคร/pdf pdf;
    ใบสมัคร/postscript ps eps ai;
    แอปพลิเคชัน/rtf rtf;
    แอปพลิเคชัน/vnd.apple.mpegurl m3u8;
    แอปพลิเคชัน/vnd.ms-excel xls;
    application/vnd.ms-fontobject eot;
    แอปพลิเคชัน/vnd.ms-powerpoint ppt;
    แอปพลิเคชัน/vnd.wap.wmlc wmlc;
    application/vnd.google-earth.kml+xml kml;
    แอปพลิเคชัน/vnd.google-earth.kmz kmz;
    แอปพลิเคชัน/x-7z-บีบอัด 7z;
    ใบสมัคร/x-cocoa cco;
    แอปพลิเคชัน/x-java-archive-diff jardiff;
    แอปพลิเคชัน/x-java-jnlp-file jnlp;
    เรียกใช้แอปพลิเคชัน / x-makeself;
    แอปพลิเคชัน/x-perl pl pm;
    แอปพลิเคชัน/x-pilot prc pdb;
    แอปพลิเคชั่น/x-rar-บีบอัด rar;
    แอปพลิเคชั่น / x-redhat-package-manager รอบต่อนาที;
    ใบสมัคร / ทะเล x-sea;
    แอปพลิเคชั่น/x-shockwave-แฟลช swf;
    แอปพลิเคชั่น / นั่ง x-stuffit;
    ใบสมัคร/x-tcl tcl tk;
    ใบสมัคร/x-x509-ca-cert จาก pem crt;
    แอปพลิเคชัน/x-xpinstall xpi;
    แอปพลิเคชัน/xhtml+xml xhtml;
    แอปพลิเคชัน/xspf+xml xspf;
    แอปพลิเคชั่น / ซิปซิป;

    แอปพลิเคชัน / octet-stream bin exe dll;
    แอ็พพลิเคชัน/octet-stream deb;
    แอปพลิเคชัน/octet-stream dmg;
    แอปพลิเคชั่น/octet-stream iso img;
    แอปพลิเคชัน/ออคเต็ตสตรีม msi msp msm;

    แอปพลิเคชัน/vnd.openxmlformats-officedocument.wordprocessingml.document docx;
    แอปพลิเคชัน/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx;
    แอปพลิเคชัน/vnd.openxmlformats-officedocument.presentationml.การนำเสนอ pptx;

    เสียง/midi กลาง midi kar;
    เสียง/mpeg mp3;
    เสียง/ogg ogg;
    เสียง/x-m4a m4a;
    เสียง/x-realaudio ra;

    วิดีโอ/3gpp 3gpp 3gp;
    วิดีโอ/mp2t ts;
    วิดีโอ/mp4 mp4;
    วิดีโอ/mpeg mpeg mpg;
    วิดีโอ/quicktime mov;
    วิดีโอ/เว็บเอ็ม เว็บเอ็ม;
    วิดีโอ/x-flv flv;
    วิดีโอ/x-m4v m4v;
    วิดีโอ/x-mng mng;
    วิดีโอ/x-ms-asf asx asf;
    วิดีโอ/x-ms-wmv wmv;
    วิดีโอ/x-msvideo avi;
}

# ไฟล์การกำหนดค่า /etc/nginx/sites-enabled/reverse-proxy:
โหนดต้นน้ำ {
        เซิร์ฟเวอร์ 127.0.0.1:2200;
}


เซิร์ฟเวอร์ {
  ฟัง 80;
 # server_name tools.tryandreview.com;

  ที่ตั้ง / {
        proxy_pass http://node;
    }
}

เหตุใด nginx จึงไม่คำนึงถึงการตั้งค่าของฉัน หรือฉันขาดอะไรไป ?

us flag
คุณแน่ใจหรือไม่ว่าแอปพลิเคชันโหนดของคุณส่งคืนการตอบกลับภายในห้านาที
ro flag
ขอบคุณสำหรับการตอบกลับ ใช่ฉันเป็น
ro flag
และไม่ว่าในกรณีใดก็ตาม หมดเวลาหลังจาก 1 นาที
mforsetti avatar
tz flag
`ETIMEDOUT` หรือข้อผิดพลาด #110 เกิดขึ้นเมื่อ [ไคลเอ็นต์ไม่สามารถเชื่อมต่อกับซ็อกเก็ตได้หลังจากระยะเวลาหนึ่ง](https://man7.org/linux/man-pages/man2/connect.2.html#ERRORS ). คุณแน่ใจหรือว่าโหนดของคุณกำลังฟัง `127.0.0.1:2200` ลอง `curl`-ing กับแอปโหนดของคุณ
ro flag
มันทำงานได้ดีสำหรับการค้นหาที่ใช้เวลาไม่เกินหนึ่งนาที ดังนั้นฉันจึงแน่ใจว่าโหนดกำลังฟังอยู่
ro flag
มีบางอย่างเกี่ยวกับการให้สิทธิ์ผู้ใช้เช่น sudo vs non sudo หรือไม่ ฉันต้องใช้ sudo เพื่อแก้ไข conf และ/หรือพิมพ์ nginx -T เป็นต้น
in flag
ฉันคิดว่าคุณพลาดการหมดเวลา `send_timeout 300s;` ไปหนึ่งครั้ง
djdomi avatar
za flag
สำหรับ Duplicity ฉันจำเป็นต้องใช้ `proxy_connect_timeout 600; proxy_send_timeout 600; proxy_read_timeout 600; send_timeout 600;` อาจเป็นความคิดที่ดีที่จะใช้ memcached เพื่อแคชข้อความค้นหาบางอย่าง หากคุณต้องการทำเช่นนั้น `set $memcached_key "$uri?$args"; memcached_pass 127.0.0.1:11211;` จะเป็นตัวเลือกที่ดีในการแก้ปัญหาการตอบสนองดังกล่าว
djdomi avatar
za flag
ฉันยังพบ perl การกำหนดค่าอื่นของ nginx `client_header_timeout 3600; client_body_timeout 3600; fastcgi_read_timeout 3600;`
mforsetti avatar
tz flag
[`proxy_connect_timeout`](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_connect_timeout) มีขีดจำกัดตายตัวที่ 75 วินาที แต่ถ้าข้อความค้นหาที่สั้นกว่านี้ไม่เป็นไร ระยะ "เชื่อมต่อ" ก็ใช้ได้ `read` เฟสจะมีปัญหา. ลองเรียกใช้ด้วย `error_log debug` และดูว่าเกิดอะไรขึ้นก่อนที่จะหมดเวลา
Score:1
ธง in

มีการหมดเวลาหนึ่งครั้งที่ขาดหายไป

send_timeout 300 วินาที;

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา