Score:0

หลังจากผ่านไประยะหนึ่ง Nginx reverse proxy หยุดทำงานโดยมีข้อผิดพลาด SSL เป็นอัพสตรีมจนกว่าจะโหลดการกำหนดค่าใหม่

ธง cn

ฉันมีพร็อกซีย้อนกลับของ Nginx ซึ่งหยุดทำงานอย่างลึกลับหลังจากผ่านไปหลายชั่วโมง บันทึกข้อผิดพลาดเต็มไปด้วยข้อผิดพลาด SSL ที่เชื่อมต่อกับอัปสตรีม การเรียกใช้ "nginx -s reload" (การเริ่มบริการ nginx ใหม่) แก้ไขปัญหาจนกว่าจะเกิดความล้มเหลวครั้งต่อไป ความคิดใดที่จะขุดเพิ่มเติม?

ไฟล์คอนฟิกไม่เปลี่ยนแปลง ไม่มีกิจกรรมอื่นใดในบันทึก ไม่สามารถระบุ "เวลาที่ล้มเหลว" บางครั้งดูเหมือนว่าจะเป็น 3-4 ชั่วโมง บางครั้งประมาณ 8 ชั่วโมง

แอปพลิเคชันเป็นเว็บแอปไดนามิกที่ใช้ Java Swing ของบุคคลที่สามจากห้องใต้ดินสยองขวัญระดับองค์กรแบบดั้งเดิม... :)

ตัวอย่างข้อมูลสำหรับตำแหน่งการกำหนดค่า Nginx กลุ่มหนึ่งสำหรับตำแหน่ง URI เฉพาะ ไม่สามารถใช้หนึ่ง / สถานที่ได้เนื่องจากหนึ่งในสถานที่ต้องการการอนุญาต MTLS และที่อื่น ๆ ก็ต้องอาศัยรายการที่อนุญาต

ตำแหน่ง ~* ^/ตำแหน่งแอป(/?|/.*|-.*)$ {
  รวม /etc/nginx/conf.d/include.APP.whitelist;
  proxy_pass https://__APP_LB_DNS__:6443;
  เปิด proxy_ssl_server_name;
  proxy_ssl_name __APP_LB_DNS__;
  proxy_ssl_trusted_certificate __certificate-backend-ca-location__;
  ปิด proxy_ssl_verify;
  proxy_ssl_verify_ความลึก 3;
  เปิด proxy_ssl_session_reuse;
  proxy_ssl_certificate __client-certificate-location__;
  proxy_ssl_certificate_key __client-certificate-key-location__;
}

หลังจากเวลาผ่านไป ฉันเริ่มได้รับข้อผิดพลาด 502: Bad Gateway และ error.log เต็มไปด้วยข้อผิดพลาดดังกล่าว 10.0.0.10 คือ IP อัพสตรีมโหลดบาลานเซอร์สำหรับชื่อโฮสต์ APP_LB_DNS

2022/02/09 21:36:45 [ข้อผิดพลาด] 12371#12371: *59560 SSL_do_handshake() ล้มเหลว (SSL: ข้อผิดพลาด:14094410:รูทีน SSL:ssl3_read_bytes:sslv3 การแจ้งเตือนการจับมือกันล้มเหลว:การแจ้งเตือน SSL หมายเลข 40) ในขณะที่จับมือ SSL ไปยังอัปสตรีม , ไคลเอ็นต์: CLIENT_IP, เซิร์ฟเวอร์: EXTERNAL_DNS_NAME, คำขอ: "GET /app-location/ HTTP/1.1", อัปสตรีม: "https://10.0.0.10:6443/app-location/", โฮสต์: "EXTERNAL_DNS_NAME", ผู้อ้างอิง: "http://CLIENT_DNS:53998/"

ฉันต้องเพิ่มตัวเลือกเพื่อให้แน่ใจว่า Nginx กำลังสื่อสารกับ Azure backend LB ผ่านชื่อ DNS มิฉะนั้นฉันจะได้รับข้อผิดพลาดด้านบนอย่างต่อเนื่อง อีกสิ่งหนึ่งที่ทำให้ฉันงงก็คือแอปแปลกๆ นี้เท่านั้นที่ต้องใช้ตัวเลือกดังกล่าว แอพที่เขียนเองอื่น ๆ ทำงานได้ดีโดยไม่ต้องมีบรรทัดเหล่านั้น

เปิด proxy_ssl_server_name;
proxy_ssl_name __APP-DNS__;

เซิร์ฟเวอร์กำลังใช้งาน Nginx บน Centos 7 ใน Azure VM nginx-1.18.0-2.el7.ngx.x86_64 nginx-modsecurity3-centos7-3.0.4-1.x86_64

โพสต์คำตอบ

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