เซิร์ฟเวอร์ที่กำหนดค่าไม่ถูกต้องจะทำให้คุณมีข้อผิดพลาด SSL ต่างๆ
- หากต้องการแก้ไขข้อผิดพลาดระหว่างการแฮนด์เชค SSL ให้ปรับการตั้งค่าพร็อกซีเซิร์ฟเวอร์ Apache อย่างเหมาะสม
- ตรวจสอบให้แน่ใจว่าทั้งไคลเอนต์และเซิร์ฟเวอร์ใช้โปรโตคอลเดียวกัน
ข้อผิดพลาดระหว่างการจับมือ SSL กับเซิร์ฟเวอร์ระยะไกลจะป้องกันไม่ให้ไคลเอ็นต์สื่อสารกับเซิร์ฟเวอร์ และจะทำให้บริการออนไลน์หรือเว็บแอปไม่สามารถเข้าถึงได้
นี่เป็นปัญหาสำคัญหากคุณโฮสต์บริการออนไลน์ ดังนั้นจึงจำเป็นอย่างยิ่งที่จะต้องแก้ไขปัญหาโดยเร็วที่สุด ในคู่มือนี้ เราจะแสดงวิธีแก้ไขปัญหานี้สองสามวิธี
ข้อผิดพลาดระหว่างการจับมือ SSL กับเซิร์ฟเวอร์ระยะไกลคืออะไร
เราทดสอบ ทบทวน และให้คะแนนอย่างไร
เราทำงานมาตลอด 6 เดือนที่ผ่านมาเพื่อสร้างระบบตรวจสอบใหม่เกี่ยวกับวิธีที่เราผลิตเนื้อหา เมื่อใช้สิ่งนี้ เราได้ปรับปรุงบทความส่วนใหญ่ของเราใหม่ในภายหลังเพื่อมอบความเชี่ยวชาญเชิงปฏิบัติจริงเกี่ยวกับคำแนะนำที่เราทำ
สำหรับรายละเอียดเพิ่มเติมคุณสามารถอ่านได้ วิธีที่เราทดสอบ ทบทวน และให้คะแนนที่ WindowsReport.
- ข้อความแสดงข้อผิดพลาดนี้เกิดขึ้นเมื่อไคลเอ็นต์ไม่สามารถสร้างการเชื่อมต่อที่ปลอดภัยกับเซิร์ฟเวอร์ได้ จึงทำให้เกิดข้อผิดพลาดในการจับมือกัน
- สาเหตุที่พบบ่อยที่สุดสำหรับปัญหานี้คือการตั้งค่า SSL ของเซิร์ฟเวอร์ของคุณ
- ใบรับรองที่หมดอายุ โดยเฉพาะอย่างยิ่งหากลงนามด้วยตนเองอาจทำให้เกิดปัญหานี้ได้
- หากทั้งเซิร์ฟเวอร์และไคลเอนต์ไม่ได้ใช้โปรโตคอลเดียวกัน คุณอาจได้รับข้อผิดพลาดนี้
- ฉันจะแก้ไขข้อผิดพลาดระหว่างการจับมือ SSL กับเซิร์ฟเวอร์ระยะไกลได้อย่างไร
- 1. เปลี่ยนการตั้งค่าอาปาเช่
- 2. ตรวจสอบโปรโตคอลที่อนุญาต
- 3. สร้างใบรับรองที่ลงนามด้วยตนเองอีกครั้ง
- 4. แก้ไขไฟล์ rproxy.conf
- ข้อแนะนำในการป้องกันในอนาคต
ฉันจะแก้ไขข้อผิดพลาดระหว่างการจับมือ SSL กับเซิร์ฟเวอร์ระยะไกลได้อย่างไร
- บังคับให้พร็อกซีตั้งค่าการบีบอัดเป็นไม่มี วิธีนี้สามารถช่วยเหลือได้หากพร็อกซีไม่ทำงานกับ gzip
- กำหนดค่าแอปพลิเคชันเพื่อใช้ HTTP ภายใน สิ่งนี้ใช้เฉพาะเมื่อคุณใช้เซิร์ฟเวอร์ภายในเครื่องเพื่อการทดสอบ
1. เปลี่ยนการตั้งค่าอาปาเช่
- เปิดเครื่องมือบรรทัดคำสั่งและเข้าถึงเซิร์ฟเวอร์
- ตอนนี้รันคำสั่งต่อไปนี้:
sudo nano /etc/apache2/sites-available/your-site.conf
- ตรวจสอบให้แน่ใจว่าบรรทัดต่อไปนี้พร้อมใช้งานในไฟล์กำหนดค่า:
SSLProxyEngine on
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off
- บันทึกการเปลี่ยนแปลง.
2. ตรวจสอบโปรโตคอลที่อนุญาต
- เปิดบรรทัดคำสั่งและรันคำสั่งต่อไปนี้: sudo nano /etc/apache2/sites-available/your-site.conf
- ถัดไป กำหนดค่าดังนี้:
SSLProxyProtocol all -SSLv2 -SSLv3 -TLSv1
- บันทึกการเปลี่ยนแปลง.
- ในกรณีที่คุณยังคงประสบปัญหา ตรวจสอบให้แน่ใจว่าค่านั้นสำหรับ SSLProxyCipherSuite ได้รับการตั้งค่าอย่างถูกต้อง
3. สร้างใบรับรองที่ลงนามด้วยตนเองอีกครั้ง
- เริ่มเทอร์มินัลอีกครั้ง
- เมื่อคุณเชื่อมต่อกับเซิร์ฟเวอร์แล้ว ให้รันสิ่งต่อไปนี้:
openssl req -x509 -nodes -days 365 -newkey rsa: 2048 -keyout ssl.key -out ssl.crt
- สิ่งนี้จะสร้างใบรับรองใหม่สำหรับเซิร์ฟเวอร์ของคุณ
วิธีการนี้จะได้ผลหากคุณเคยสร้างใบรับรองที่ลงนามด้วยตนเองบนเซิร์ฟเวอร์มาก่อน
- แก้ไขแล้ว: ข้อผิดพลาด Alabasterbeard บน Sea of Thieves
- Dasher ต้องเป็นข้อผิดพลาด DoorDash ที่ใช้งานอยู่: วิธีแก้ไข
- รหัสข้อผิดพลาด BBC iPlayer 02062: วิธีแก้ไข
- แก้ไขแล้ว: Sky Glass Remote ไม่ทำงาน
4. แก้ไขไฟล์ rproxy.conf
- เปิดเทอร์มินัลแล้วรันคำสั่งต่อไปนี้:
nano rproxy.conf
- ตรวจสอบให้แน่ใจว่าคุณเพิ่มบรรทัดต่อไปนี้:
SetEnv proxy-sendchunked 1
- บันทึกการเปลี่ยนแปลง.
ข้อแนะนำในการป้องกันในอนาคต
- ตรวจสอบให้แน่ใจว่าใบรับรอง SSL ที่เซิร์ฟเวอร์ให้มานั้นถูกต้อง และตรวจสอบใบรับรองระดับกลางในสายโซ่ ลองใช้ใบรับรองที่ออกโดยผู้ออกใบรับรองที่เชื่อถือได้
- ตรวจสอบให้แน่ใจว่าชื่อทั่วไปและชื่อเรื่องสำรองของใบรับรองตรงกับชื่อโฮสต์
- ตรวจสอบโปรโตคอลและตรวจสอบให้แน่ใจว่าทั้งไคลเอนต์และเซิร์ฟเวอร์ใช้เวอร์ชันโปรโตคอลที่เข้ากันได้ นอกจากนี้ ให้ตรวจสอบการกำหนดค่าเซิร์ฟเวอร์และไคลเอ็นต์ SSL/TLS
- ปรับปรุงไลบรารี SSL ให้ทันสมัยอยู่เสมอ
- ตรวจสอบให้แน่ใจว่าไฟร์วอลล์ของคุณไม่ได้บล็อกพอร์ต 443 ซึ่งใช้สำหรับ SSL/TLS
ขั้นตอนเหล่านี้จะช่วยคุณแก้ไข พร็อกซีเซิร์ฟเวอร์ไม่สามารถจัดการเหตุผลคำขอได้: เกิดข้อผิดพลาดระหว่างการจับมือ SSL กับเซิร์ฟเวอร์ระยะไกล ในกรณีส่วนใหญ่ ปัญหาจะเกี่ยวข้องกับการกำหนดค่า Apache และคุณต้องปรับการตั้งค่าเซิร์ฟเวอร์ให้สอดคล้องกัน
ในกรณีที่คุณไม่แก้ไขข้อผิดพลาดนี้ คุณจะได้รับ Handshake ล้มเหลวส่งคืนรหัสข้อผิดพลาด SSL 1 หรือ SSL_error_handshake_failure_alert ข้อความในเบราว์เซอร์ของคุณ เนื่องจากมีปัญหากับ SSL หลายคนจึงรายงานว่า Chrome บอกว่าไม่ปลอดภัยแม้ว่าใบรับรองจะถูกต้องก็ตามแต่สามารถแก้ไขได้ง่าย
คุณจัดการเพื่อแก้ไขปัญหานี้หรือไม่? หากเป็นเช่นนั้น โปรดแบ่งปันกับเราว่าโซลูชันใดที่เหมาะกับคุณ