Sertifikat RSA yang dikonfigurasi untuk SERVER TIDAK menyertakan ID yang cocok dengan nama server

28

Saya baru-baru ini memulai server LAMP (semua versi terbaru) tanpa WordPress di atasnya, dan saya mencoba menginstal sertifikat SSL yang baru saja saya beli. Ketika saya memulai kembali apachectl, error_log memberi saya ini:

[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'

Sementara ssl_error_log memberi saya ini:

[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

Saya mengubah "ServerName" ssl.confmenjadi nama server saya (dcturano.com) dan memulai kembali apachectl, namun kesalahan ini terjadi. Ada ide mengapa?

Selain itu, saya belum menetapkan CommonName server, mungkinkah itu masalahnya?

eklipsis
sumber

Jawaban:

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

Harus mengembalikan CN sertifikat. Itu nama yang harus Anda gunakan dalam direktif ServerName dan untuk terhubung.

quadruplebucky
sumber
# openssl x509 -di server.crt -noout -subject Error membuka Sertifikat server.crt 140451499632288: error: 02001002: pustaka sistem: fopen: Tidak ada file atau direktori: bss_file.c: 398: fopen ('server.crt', ' r ') 140451499632288: kesalahan: 20074002: rutinitas BIO: FILE_CTRL: system lib: bss_file.c: 400: tidak dapat memuat sertifikat
jmituzas
1
@jmituzas, Anda harus mengubah server.crtdalam openssl x509 -in server.crt -noout -subjectpenempatan server.crt Anda
avivmg
4
Praktis semua CA publik saat ini mengeluarkan sertifikat dengan ekstensi SubjectAlternativeName , dan Anda dapat menggunakan salah satu atau semua nama dalam ekstensi itu (atau nama apa pun yang cocok dengan wildcard). OpenSSL tidak menampilkan SAN secara terpisah, tetapi Anda dapat melakukan sesuatu sepertiopenssl x509 -in cert -text | grep -A1 "Subject Alternative Name"
dave_thompson_085
1
Juga, pastikan Anda menambahkan direktif ServerName dan tidak hanya mengatur alamat virtual host (yang ternyata menjadi masalah dalam kasus saya).
hugovdberg
Itu berhasil. Nilai CN yang disalin localhostdari output sudo openssl x509 -in /etc/ssl/certs/server.crt -noout -subjectseperti ServerName localhostpada sudo nano /etc/httpd/conf.d/ssl.conf. Saya menggunakan centos 7 di gelandangan.
Damodar Bashyal
2

Atau, jika, seperti saya, Anda bahkan tidak menggunakan ssl, Anda masih akan mendapatkan pesan kesalahan ini karena menggunakan ssl dinyalakan secara default. Kalau begitu, matikan! Berikut kutipan dari config.d/ssl.conf:

#   SSL Engine Switch:
#   Enable/Disable SSL for this virtual host.
#SSLEngine on
SSLEngine off
Richard T
sumber
7
Saya menilai jawaban Anda karena pertanyaannya secara eksplisit menyatakan ia membeli sertifikat. Saya biasanya tidak membeli barang yang tidak ingin saya gunakan.
hugovdberg
2

Saya memiliki masalah yang sama tetapi itu karena alasan lain. Saya mempostingnya di sini untuk googler masa depan:

pada file konfigurasi apache2 saya, alih-alih memiliki <VirtualHost *:443>, saya punya <VirtualHost *:80>. Segera setelah saya memperbaikinya, situs kembali dan berjalan.

AliBZ
sumber
1

Saya memicu masalah ini melalui /etc/hostsfile saya .

Saya punya virtualhost, sebut saja www.effinwh whatever.com

Nama host server adalah www2 .

Saya menambahkan baris ke saya /etc/hostssehingga saya bisa menggulung hal-hal terhadap virtual host:

192.168.1.200         www.effinwhatever.com

Segera setelah saya menghapus baris itu dari /etc/hostsserver saya , server Apache saya mulai melayani secara normal lagi (dengan restart layanan). Aneh.

Mungkin juga relevan bahwa sertifikat SSL saya adalah untuk domain wildcard.

James T Snell
sumber
0

Saya memiliki AH01909 yang sama : Kesalahan sertifikat RSA . Dalam kasus saya, saya memiliki nilai yang benar serverName.

Penyebab kesalahan adalah alamat IP yang salah dalam <VirtualHost 10.11.12.13:443>definisi untuk situs aman. Saya salah ketik!

Drew
sumber
-1

Pastikan ServerName Anda persis sama dengan openssl x509 -in server.crt -noout -subjectoutput. jika ada www, ServerName juga perlu satu. jika tidak, ServerName harus menghapus www.

ekse
sumber