อ๊ะไม่พบใบรับรองเซิร์ฟเวอร์ RSA หรือ DSA สำหรับ 'server.host.name'


18

ฉันกำลังตั้งค่าเว็บเซิร์ฟเวอร์ใหม่ที่โฮสต์โฮสต์เสมือนโหลบน Ubuntu 12.4 โดยใช้ Apache 2.2.22 ด้วยหนึ่งไฟล์กำหนดค่าต่อไซต์ ฉันสร้างไฟล์การกำหนดค่าทั้งหมดในครั้งเดียวและวิ่งa2ensite *เพื่อเปิดใช้งานพวกเขาทั้งหมดในครั้งเดียว เมื่อฉันโหลดการกำหนดค่าใหม่ล้มเหลวและหลังจากรีสตาร์ท apache ฉันพบข้อความแสดงข้อผิดพลาดต่อไปนี้ใน error.log ของฉัน:

โอ๊ะโอไม่พบใบรับรองเซิร์ฟเวอร์ RSA หรือ DSA สำหรับ 'server.host.name' '!

ผลลัพธ์ส่วนใหญ่สำหรับข้อความแสดงข้อผิดพลาดนี้มีอายุหลายปีซึ่งไม่สามารถแก้ไขปัญหาได้หรือเป็นข้อบกพร่องที่ได้รับการแก้ไขhttps://issues.apache.org/bugzilla/show_bug.cgi?id=31709

คำตอบ:



4

ปัญหาสิ้นสุดลงในไฟล์การกำหนดค่าที่แตกต่างจากโฮสต์ที่ระบุไว้ในข้อผิดพลาด มันเป็นเพราะความจริงที่ว่ามีค่า ServerName ซ้ำกันในสองไฟล์ ฉันแก้ไขข้อผิดพลาดและเริ่มสำรองข้อมูล (ลาก่อนครึ่งชั่วโมง) :-)

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


1

คุณอาจได้รับข้อผิดพลาดนี้หากคุณใช้ใบรับรองที่มีชื่อสำรองหลายชื่อ แต่ServerNameคำสั่งไม่ตรงกับค่า CN หรือ SAN ของใบรับรอง มักเป็นกรณีที่ผู้พัฒนาต้องการรุ่นการพัฒนาของไซต์การผลิตเดียวกัน แต่ไม่มีใบรับรองจริงสำหรับไซต์การพัฒนา

เว็บไซต์ตัวอย่าง:
webserver.example.com
webserver-dev.example.com

ใบรับรอง:
CN = primaryserver.example.com
SANs = webserver.example.com, puppies.example.com, kittens.example.com

การกำหนดค่าต่อไปนี้จะทำให้เกิดข้อผิดพลาดนี้:
/etc/apache2/sites-enabled/webserver.example.com-ssl.conf
<IfModule mod_ssl.c> <VirtualHost *:443> ServerName webserver.example.com ...
/etc/apache2/sites-enabled/webserver-dev.example.com-ssl.conf
<IfModule mod_ssl.c> <VirtualHost *:443> ServerName webserver-dev.example.com ...

การกำหนดค่าต่อไปนี้แก้ไขปัญหานี้:
/etc/apache2/sites-enabled/webserver.example.com-ssl.conf
<IfModule mod_ssl.c> <VirtualHost *:443> ServerName webserver.example.com ...
/etc/apache2/sites-enabled/webserver.example.com-ssl.conf
<IfModule mod_ssl.c> <VirtualHost webserver-dev.example.com:443> ServerName webserver.example.com ...


0

FWIW ฉันเพิ่งพบปัญหานี้อีกครั้งภายใต้หน้ากากอื่น

หากคุณกำลังใช้ใบรับรองไวด์การ์ด SSL ตรวจสอบให้แน่ใจว่ารายการ VirtualHost สำหรับโดเมน (domain.com) อยู่ในรายการก่อนสิ่งอื่นใด (foo.domain.com, bar.domain.com ฯลฯ )

ฉันลองสิ่งที่กำหนดค่าครั้งเดียวและทุกอย่างอื่นทำงานได้ดีจนกระทั่งฉันเพิ่มไฟล์นี้กลับเข้าไป

จากนั้นฉันก็ทวีคูณว่าชื่อไฟล์กำหนดค่านั้นต่ำกว่าตัวอักษรตามไฟล์กำหนดค่าด้วย "การกำหนดโดเมนหลัก" เปลี่ยน symlink เพื่อให้มันถูกวางไว้หลังจาก def หลักและทุกอย่างทำงานเหมือนมีเสน่ห์

ตัวอย่างการเรียงลำดับรายการล้มเหลว:

foo.domain.conf
prim.domain.conf
something.domain.conf

รายการตัวอย่างการทำงาน:

prim.domain.conf
something.domain.conf
zfoo.domain.conf

HTH คนอื่น :)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.