เมื่อพยายามกำหนดค่า SSL บนเซิร์ฟเวอร์ที่ออกแบบมาเพื่อเรียกใช้ Apache หรือเทคโนโลยีเว็บโฮสติ้งอื่นที่คล้ายคลึงกัน คุณอาจได้รับข้อผิดพลาดที่แจ้งว่าใบรับรองเซิร์ฟเวอร์ไม่มี ID ที่ตรงกับชื่อเซิร์ฟเวอร์ นี่เป็นเพียงคำเตือนในทางเทคนิค และในทางทฤษฎีคุณก็สามารถแก้ไขมันได้
เป็นความคิดที่ดีกว่ามากที่จะแก้ไขปัญหาเล็กน้อยเพื่อให้สิ่งต่างๆ กลับมาทำงานได้ตามปกติ เมื่อคุณมีชื่อเซิร์ฟเวอร์และใบรับรองที่ตรงกันแล้ว คุณไม่จำเป็นต้องทำซ้ำขั้นตอนเหล่านี้ในครั้งต่อไปที่คุณอัปเดตระบบ คุณอาจต้องสร้างบางสิ่งขึ้นใหม่หากการแก้ไขไฟล์อย่างง่ายไม่สามารถแก้ไขปัญหาได้ แต่เมื่อคุณทำเสร็จแล้ว คุณจะไม่ต้องกำหนดค่าไฟล์อีกต่อไป
วิธีที่ 1:การแก้ไข httpd[dot]conf File
เริ่มต้นด้วยการดูผ่าน ไฟล์ซึ่งอาจอยู่ในตำแหน่งที่แตกต่างกันเล็กน้อยหากคุณใช้ Apache บน Fedora, Red Hat หรือ CentOS. เซิร์ฟเวอร์ Debian และ Ubuntu ควรอยู่ที่ที่อยู่แรกนี้ ค้นหาข้อความที่สะกดว่าใบรับรองเซิร์ฟเวอร์ไม่มี ID ที่ตรงกับข้อความเตือนชื่อเซิร์ฟเวอร์
คุณอาจพบว่ามีการโยน 443 หรือหมายเลขอื่นออกหลังจากแต่ละส่วนของที่อยู่ IP แต่ไม่มีปัญหา SSL อื่นๆ ในกรณีนี้ คุณอาจยังไม่ได้บอก Apache เกี่ยวกับพอร์ตที่จะรับฟัง วิ่ง
และค้นหาบรรทัดที่เขียนว่า Listen 80 ข้างใต้ ให้เพิ่ม Listen 443 หรือหมายเลขพอร์ตอื่นๆ ที่คุณต้องการ . เมื่อคุณบันทึกและปิดไฟล์แล้ว คุณสามารถใช้ เพื่อเริ่มกระบวนการ httpd ใหม่
ผู้ที่ใช้เซิร์ฟเวอร์ Ubuntu หรือ Debian อาจไม่มีไฟล์นี้หรืออาจพบว่าไฟล์ว่างเปล่า ไม่เหมือนกับไฟล์ที่ใช้ Fedora หรือ Red Hat Enterprise Linux บางเวอร์ชัน ในกรณีนั้น ให้ใช้
เพื่อแก้ไขไฟล์ข้อความที่จำเป็นในการเพิ่มพอร์ตเพื่อฟัง
ในหลายกรณี การดำเนินการนี้น่าจะแก้ไขปัญหาได้แล้ว หากไม่เป็นเช่นนั้น ให้ตรวจสอบปัญหาเครือข่ายที่เกี่ยวข้องทั้งหมดก่อนดำเนินการตรวจสอบสถานการณ์ใบรับรอง
วิธีที่ 2:การสร้างใบรับรองใหม่
ข้อความเตือนเหล่านี้อาจเกิดขึ้นได้หากคุณเคยใช้งานใบรับรองที่หมดอายุซึ่งคุณลงชื่อด้วยตัวเอง หากคุณต้องการสร้างใหม่ ลองใช้
และมองหาสองบรรทัดที่ระบุว่า 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 ถูกสร้างขึ้นตั้งแต่แรก