Computer >> คอมพิวเตอร์ >  >> การแก้ไขปัญหา >> Linux

แก้ไข:ใบรับรองเซิร์ฟเวอร์ไม่รวม ID ที่ตรงกับชื่อเซิร์ฟเวอร์

เมื่อพยายามกำหนดค่า SSL บนเซิร์ฟเวอร์ที่ออกแบบมาเพื่อเรียกใช้ Apache หรือเทคโนโลยีเว็บโฮสติ้งอื่นที่คล้ายคลึงกัน คุณอาจได้รับข้อผิดพลาดที่แจ้งว่าใบรับรองเซิร์ฟเวอร์ไม่มี ID ที่ตรงกับชื่อเซิร์ฟเวอร์ นี่เป็นเพียงคำเตือนในทางเทคนิค และในทางทฤษฎีคุณก็สามารถแก้ไขมันได้

เป็นความคิดที่ดีกว่ามากที่จะแก้ไขปัญหาเล็กน้อยเพื่อให้สิ่งต่างๆ กลับมาทำงานได้ตามปกติ เมื่อคุณมีชื่อเซิร์ฟเวอร์และใบรับรองที่ตรงกันแล้ว คุณไม่จำเป็นต้องทำซ้ำขั้นตอนเหล่านี้ในครั้งต่อไปที่คุณอัปเดตระบบ คุณอาจต้องสร้างบางสิ่งขึ้นใหม่หากการแก้ไขไฟล์อย่างง่ายไม่สามารถแก้ไขปัญหาได้ แต่เมื่อคุณทำเสร็จแล้ว คุณจะไม่ต้องกำหนดค่าไฟล์อีกต่อไป

วิธีที่ 1:การแก้ไข httpd[dot]conf File

เริ่มต้นด้วยการดูผ่าน แก้ไข:ใบรับรองเซิร์ฟเวอร์ไม่รวม ID ที่ตรงกับชื่อเซิร์ฟเวอร์ ไฟล์ซึ่งอาจอยู่ในตำแหน่งที่แตกต่างกันเล็กน้อยหากคุณใช้ Apache บน Fedora, Red Hat หรือ CentOS. เซิร์ฟเวอร์ Debian และ Ubuntu ควรอยู่ที่ที่อยู่แรกนี้ ค้นหาข้อความที่สะกดว่าใบรับรองเซิร์ฟเวอร์ไม่มี ID ที่ตรงกับข้อความเตือนชื่อเซิร์ฟเวอร์

แก้ไข:ใบรับรองเซิร์ฟเวอร์ไม่รวม ID ที่ตรงกับชื่อเซิร์ฟเวอร์

คุณอาจพบว่ามีการโยน 443 หรือหมายเลขอื่นออกหลังจากแต่ละส่วนของที่อยู่ IP แต่ไม่มีปัญหา SSL อื่นๆ ในกรณีนี้ คุณอาจยังไม่ได้บอก Apache เกี่ยวกับพอร์ตที่จะรับฟัง วิ่ง
แก้ไข:ใบรับรองเซิร์ฟเวอร์ไม่รวม ID ที่ตรงกับชื่อเซิร์ฟเวอร์ และค้นหาบรรทัดที่เขียนว่า Listen 80 ข้างใต้ ให้เพิ่ม Listen 443 หรือหมายเลขพอร์ตอื่นๆ ที่คุณต้องการ . เมื่อคุณบันทึกและปิดไฟล์แล้ว คุณสามารถใช้ แก้ไข:ใบรับรองเซิร์ฟเวอร์ไม่รวม ID ที่ตรงกับชื่อเซิร์ฟเวอร์ เพื่อเริ่มกระบวนการ httpd ใหม่

ผู้ที่ใช้เซิร์ฟเวอร์ Ubuntu หรือ Debian อาจไม่มีไฟล์นี้หรืออาจพบว่าไฟล์ว่างเปล่า ไม่เหมือนกับไฟล์ที่ใช้ Fedora หรือ Red Hat Enterprise Linux บางเวอร์ชัน ในกรณีนั้น ให้ใช้
แก้ไข:ใบรับรองเซิร์ฟเวอร์ไม่รวม ID ที่ตรงกับชื่อเซิร์ฟเวอร์  เพื่อแก้ไขไฟล์ข้อความที่จำเป็นในการเพิ่มพอร์ตเพื่อฟัง

ในหลายกรณี การดำเนินการนี้น่าจะแก้ไขปัญหาได้แล้ว หากไม่เป็นเช่นนั้น ให้ตรวจสอบปัญหาเครือข่ายที่เกี่ยวข้องทั้งหมดก่อนดำเนินการตรวจสอบสถานการณ์ใบรับรอง

วิธีที่ 2:การสร้างใบรับรองใหม่

ข้อความเตือนเหล่านี้อาจเกิดขึ้นได้หากคุณเคยใช้งานใบรับรองที่หมดอายุซึ่งคุณลงชื่อด้วยตัวเอง หากคุณต้องการสร้างใหม่ ลองใช้
แก้ไข:ใบรับรองเซิร์ฟเวอร์ไม่รวม ID ที่ตรงกับชื่อเซิร์ฟเวอร์ และมองหาสองบรรทัดที่ระบุว่า File และ KeyFile สิ่งเหล่านี้จะบอกคุณว่าตำแหน่งของไฟล์คีย์ใบรับรองอยู่ที่ไหนเมื่อสร้างใบรับรอง SSL

หากคุณกำลังทำงานกับบริษัทผู้ลงนามมืออาชีพที่ให้ใบรับรองเวิลด์ไวด์เว็บอย่างเป็นทางการ คุณควรปฏิบัติตามคำแนะนำเฉพาะที่องค์กรออกใบอนุญาตของคุณให้ไว้ ไม่เช่นนั้น คุณจะต้อง sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout KeyFile -out File โดยแทนที่ KeyFile และ File ด้วยข้อความที่คุณสามารถออกจากคำสั่ง cat ก่อนหน้านี้ คุณควรพบตำแหน่งของไฟล์ 2 ไฟล์ที่แตกต่างกัน ซึ่งให้บริการที่อินพุตและเอาต์พุตสำหรับใบรับรอง

สมมติว่าบริการเก่าเกินไป การทำเช่นนี้น่าจะเพียงพอเพื่อแก้ไขข้อผิดพลาด แต่คุณอาจต้องเริ่มบริการใหม่ก่อนที่จะหยุดส่งคำเตือนถึงคุณ

คุณยังสามารถหาข้อมูลเพิ่มเติมเล็กน้อยเกี่ยวกับใบรับรองที่คุณได้ติดตั้งไว้เพื่อช่วยคุณในกระบวนการแก้ไขปัญหา หากต้องการดูว่าชื่อใดอยู่ในใบรับรองของคุณในปัจจุบันเพื่อให้แน่ใจว่าตรงกัน คุณสามารถเรียกใช้ openssl s_client -showcerts -connect ${HOSTNAME}:443 แม้ว่าคุณจะต้องใส่ชื่อโฮสต์จริงของคุณระหว่างวงเล็บ แทนที่ตัวเลข 443 หากคุณมีปัญหากับพอร์ตอื่น

หากคุณติดตั้งใบรับรองหลายรายการในอุปกรณ์เดียวกันและให้บริการจากที่อยู่ IP เดียวกัน คุณจะต้องเรียกใช้ openssl s_client -showcerts -connect ${IP}:443 -servername ${HOSTNAME} แทนที่ IP ด้วย IP จริงของคุณและกรอกชื่อโฮสต์ คุณอาจต้องแทนที่ 443 ด้วยตัวเลขอื่นเพื่อให้ตรงกับกรณีการใช้งานของคุณอีกครั้ง

โปรดทราบว่าคุณต้องตรวจสอบให้แน่ใจว่าชื่อโฮสต์ที่ถูกต้องได้รับการระบุเป็นนามแฝงหรือชื่อสามัญเมื่อ CSR ถูกสร้างขึ้นตั้งแต่แรก