ใบรับรอง RSA ที่กำหนดค่าสำหรับ SERVER จะไม่มีรหัสที่ตรงกับชื่อเซิร์ฟเวอร์


28

ฉันเพิ่งเริ่มเซิร์ฟเวอร์ LAMP (ทุกเวอร์ชันล่าสุด) ด้วย WordPress และฉันพยายามติดตั้งใบรับรอง SSL ที่ฉันเพิ่งซื้อ เมื่อฉันรีสตาร์ทapachectlerror_log ให้สิ่งนี้แก่ฉัน:

[Tue Feb 25 01:07:14.744222 2014] [mpm_prefork:notice] [pid 1744] AH00169: caught SIGTERM, shutting down
[Tue Feb 25 01:07:17.135704 2014] [suexec:notice] [pid 1765] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Tue Feb 25 01:07:17.217424 2014] [auth_digest:notice] [pid 1766] AH01757: generating secret for digest authentication ...
[Tue Feb 25 01:07:17.218686 2014] [lbmethod_heartbeat:notice] [pid 1766] AH02282: No slotmem from mod_heartmonitor
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/5.5/modules/mysql.so' - /usr/lib64/php/5.5/modules/mysql.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/5.5/modules/mysqli.so' - /usr/lib64/php/5.5/modules/mysqli.so: cannot open shared object file: No such file or directory in Unknown on line 0
[Tue Feb 25 01:07:17.305292 2014] [mpm_prefork:notice] [pid 1766] AH00163: Apache/2.4.6 (Amazon) OpenSSL/1.0.1e-fips PHP/5.5.7 configured -- resuming normal operations
[Tue Feb 25 01:07:17.305378 2014] [core:notice] [pid 1766] AH00094: Command line: '/usr/sbin/httpd'

ในขณะที่ ssl_error_log ให้สิ่งนี้กับฉัน:

[Tue Feb 25 00:57:15.802287 2014] [ssl:warn] [pid 1705] AH01909: RSA certificate configured for ec2-XX-XXX-XXX-XX.compute-1.amazonaws.com:443 does NOT include an ID which matches the server name
[Tue Feb 25 00:57:15.899327 2014] [ssl:warn] [pid 1706] AH01909: RSA certificate configured for ec2-XX-XXX-XXX-XX.compute-1.amazonaws.com:443 does NOT include an ID which matches the server name

ฉันเปลี่ยน "ServerName" ssl.confเป็นชื่อเซิร์ฟเวอร์ของฉัน (dcturano.com) และเริ่มใหม่apachectlแต่ข้อผิดพลาดนี้เกิดขึ้น ความคิดใดทำไม

นอกจากนี้ฉันยังไม่ได้ตั้งค่า CommonName ของเซิร์ฟเวอร์นั่นอาจเป็นปัญหาหรือไม่

คำตอบ:


45
openssl x509 -in server.crt -noout -subject

ควรส่งคืน CN ของใบรับรอง นั่นคือชื่อที่คุณต้องใช้ในคำสั่งชื่อเซิร์ฟเวอร์และเพื่อเชื่อมต่อ


# openssl x509 -in server.crt -noout -subject ข้อผิดพลาดในการเปิด Certificate server.crt 140451499632288: ข้อผิดพลาด: 02001002: ไลบรารีระบบ: fopen: ไม่มีไฟล์หรือไดเรกทอรี: bss_file.c: 398: fopen ('server.crt', ' r ') 140451499632288: ข้อผิดพลาด: 20074002: BIO รูทีน: FILE_CTRL: ระบบ lib: bss_file.c: 400: ไม่สามารถโหลดใบรับรอง
jmituzas

1
@jmituzas คุณควรเปลี่ยนserver.crtในopenssl x509 -in server.crt -noout -subjectตำแหน่ง server.crt ของคุณ
avivmg

4
ในทางปฏิบัติ CAs สาธารณะทุกวันนี้ออก certs กับนามสกุลSubjectAlternativeNameและคุณสามารถใช้ชื่อใด ๆ หรือทั้งหมดในส่วนขยายนั้น (หรือชื่อใด ๆ ที่ตรงกับสัญลักษณ์แทน) OpenSSL ไม่แสดง SAN แยก แต่คุณสามารถทำสิ่งที่ต้องการopenssl x509 -in cert -text | grep -A1 "Subject Alternative Name"
dave_thompson_085

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

นั่นเป็นการหลอกลวง คัดลอกค่า CN localhostจากการส่งออกของsudo openssl x509 -in /etc/ssl/certs/server.crt -noout -subjectเป็นในServerName localhost sudo nano /etc/httpd/conf.d/ssl.confฉันใช้เซนโทส 7 ในคนจรจัด
Damodar Bashyal

2

อีกวิธีหนึ่งถ้าเช่นฉันคุณไม่ได้ใช้ ssl คุณจะยังได้รับข้อความแสดงข้อผิดพลาดนี้เนื่องจากการใช้ ssl เปิดใช้งานตามค่าเริ่มต้น ในกรณีนี้ให้ปิด! นี่คือข้อความที่ตัดตอนมาจากconfig.d/ssl.conf:

#   SSL Engine Switch:
#   Enable/Disable SSL for this virtual host.
#SSLEngine on
SSLEngine off

7
ฉันให้คะแนนคำตอบของคุณลงเนื่องจากคำถามระบุอย่างชัดเจนว่าเขาซื้อใบรับรอง ฉันมักจะไม่ซื้อสิ่งที่ฉันไม่ต้องการใช้
hugovdberg

2

ฉันมีปัญหาเดียวกัน แต่เป็นเพราะเหตุผลอื่น ฉันโพสต์ไว้ที่นี่เพื่อชาว Google ในอนาคต:

ในไฟล์ apache2 การตั้งค่าของฉันแทนที่จะต้องผมก็มี<VirtualHost *:443> <VirtualHost *:80>ทันทีที่ฉันแก้ไขไซต์ดังกล่าวก็กลับมาทำงานอีกครั้ง


1

ฉันทริกเกอร์ปัญหานี้ผ่าน/etc/hostsไฟล์ของฉัน

ฉันมี virtualhost แล้วเรียกมันว่าwww.effinwhever.com

ชื่อโฮสต์ของเซิร์ฟเวอร์ไม่ถูกwww2

ฉันเพิ่มบรรทัดของฉัน/etc/hostsดังนั้นฉันสามารถม้วนสิ่งกับโฮสต์เสมือน:

192.168.1.200         www.effinwhatever.com

ทันทีที่ฉันลบบรรทัดนั้นออกจาก/etc/hostsเซิร์ฟเวอร์ Apache ของฉันก็เริ่มให้บริการตามปกติอีกครั้ง (ด้วยการรีสตาร์ทบริการ) แปลก.

นอกจากนี้ยังอาจเกี่ยวข้องกับใบรับรอง SSL ของฉันสำหรับโดเมนไวด์การ์ด


0

ฉันมีAH01909เดียวกัน:ข้อผิดพลาดใบรับรอง RSA ในกรณีของฉันฉันมีserverNameค่าที่ถูกต้อง

สาเหตุของข้อผิดพลาดเป็นที่อยู่ IP ที่ไม่ถูกต้องใน<VirtualHost 10.11.12.13:443>ข้อกำหนดของไซต์ที่ปลอดภัย ฉันพิมพ์ผิด!


-1

ตรวจสอบให้แน่ใจว่า ServerName ของคุณเหมือนกันกับopenssl x509 -in server.crt -noout -subjectเอาต์พุต หากมี www, ServerName ก็ต้องมีเช่นกัน มิฉะนั้นชื่อเซิร์ฟเวอร์จะต้องลบ www

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