ข้อผิดพลาดของเว็บเซิร์ฟเวอร์ทั่วไปกับ NGINX si Certbotที่ฉันเพิ่งค้นพบใน error.log:
[alert] 19765#19765: *151498 could not allocate new session in SSL session shared cache "le_nginx_SSL" while SSL handshaking, client: ip.ip.ip.ip, server: 0.0.0.0:443
เป็นข้อผิดพลาดที่เกิดขึ้นเป็นระยะ ๆ เฉพาะในบางสถานการณ์และบ่อยที่สุดบนเว็บไซต์ที่มีการเข้าชมสูง จำนวนมากของแบบสอบถาม
"le_nginx_SSL
", ดังที่อนุมานจากชื่อ, เป็นผู้รับผิดชอบในการประชุม SSL ทำหน้าที่สอบปากคำ เวลาที่ใบรับรองได้รับการตรวจสอบด้วย SSL มาเข้ารหัสกันเถอะ ติดตั้งบนเซิร์ฟเวอร์ด้วยความช่วยเหลือ certbot
.
เนื้อหา
เหตุใดข้อผิดพลาด NGINX จึงไม่สามารถจัดสรรเซสชันใหม่ใน SSL แคชแชร์เซสชัน "เล_งินx_SSL” ในขณะที่ SSL จับมือ”
เซสชั่น SSL ของ NGINX จะถูกเก็บไว้ในหน่วยความจำที่ใช้ร่วมกันเพื่อแบ่งปันกับแต่ละแบบสอบถามในเบราว์เซอร์ เมื่อพื้นที่จัดสรรให้กับแคชหน่วยความจำที่ใช้ร่วมกัน (ที่ใช้ร่วมกัน) SSL เต็มและ NGINX ล้มเหลวในการเพิ่มพื้นที่ว่างสำหรับเซสชันใหม่ ข้อความแสดงข้อผิดพลาดนี้ปรากฏขึ้น
ไม่เกี่ยวกับใครทั้งนั้น ข้อผิดพลาดร้ายแรงของ NGINX และไม่ส่งผลกระทบอย่างมากต่อประสบการณ์ของผู้ใช้ โดยวิธีการใน “error.log "แสดงโดย"[alert]
"
วิธีแก้ไขข้อผิดพลาด NGINX “ไม่สามารถจัดสรรเซสชันใหม่ใน SSL แคชแชร์เซสชัน "เล_งินx_SSL” ในขณะที่ SSL จับมือ”
เมื่อคุณติดตั้ง Certbot บนเว็บเซิร์ฟเวอร์ (CentOS, Ubuntu) ถูกสร้างไฟล์การกำหนดค่าหลายไฟล์ซึ่งบริการใหม่ที่รับผิดชอบใบรับรอง SSL (Let's Encrypt) สื่อสารกับ NGINX หนึ่งในไฟล์เหล่านี้คือและ options-ssl-nginx.conf
. ไฟล์การกำหนดค่าที่เราสามารถจัดสรรพื้นที่เพิ่มเติมสำหรับการแชร์หน่วยความจำ a SSL หรือเราสามารถเปลี่ยนเวลาในเซสชั่นได้ SSL หมดอายุและถูกลบโดยอัตโนมัติ
sudo nano /etc/letsencrypt/options-ssl-nginx.conf
In options-ssl-nginx.conf
เราเปลี่ยนพารามิเตอร์ได้ แต่ต้องระวังให้มาก เพราะการเปลี่ยนแปลงนี้จะส่งผลต่อการต่ออายุใบรับรอง SSL.
ssl_session_cache shared:le_nginx_SSL:10m;
ssl_session_timeout 1440m;
ssl_session_tickets off;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers off;
เราสามารถเปลี่ยนระยะเวลาที่จัดเก็บเซสชันในหน่วยความจำที่ใช้ร่วมกันสำหรับ “le_nginx_SSL” ฉันได้จัดสรร 10 MB สำหรับเซสชันแคชที่ใช้ร่วมกันของ SSLโดยหมดเวลา 1440 นาที (24 ชั่วโมง)
สำหรับไซต์ที่มีการเข้าชมสูง ขอแนะนำให้เพิ่มแคชที่ใช้ร่วมกัน แต่ต้องมีความสมดุลระหว่างปริมาณการใช้งาน (จำนวนเซสชัน) และระยะเวลาในการจัดเก็บเซสชัน
ในกรณีของฉัน ค่าจะเปลี่ยนที่ "ssl_session_cache shared:le_nginx_SSL:15m
"