“Sunucu SSL ile uyumlu olmalı ancak hiçbir yapılandırılmış sertifikası yok [İpucu: SSLCertificateFile]” hatası


21

Son zamanlarda Apache2'yi sürüm 2.2.31'e yükselttikten sonra, SSL VirtualHost kurulumunda garip bir davranış buldum.

Barındırdığım web sitelerinin birçoğu, müşteri Server Name Identificationfarkında olsa bile, varsayılan ev sahibi için sertifikayı gösteriyordu ve bu yalnızca birkaçıyla oldu. Bu, Firefox’un / Chrome’un pasaport uyarısını gösterir, eğer ev bankacılığınıza göz atıyorsanız muhtemelen dolandırıcılık ile karşı karşıya kalırsınız, ancak durum böyle değildi.

Açıkçası, eğer sunucunun host.hostingdomain.orgkendi SSL'si varsa, https://www.hostedsite.orgrapor sertifikasına erişmeye çalışıyor host.hostingdomain.org, ancak birkaçı https://www.hostedsite.medoğru sertifikayı bildirdi.

Tüm siteler, aynı IP adresinde, 443 numaralı bağlantı noktasında barındırılır. Gerçek şu ki, VirtualHosting HTTP tarafında çalışır ve SNI ile uyumlu istemcileri otomatik olarak SSL'ye yönlendirir, bu yüzden SNI ile tanınmayan istemcilerle geriye dönük olarak uyumludur.

Aşağıdaki metni gösteren rahatsız edici VirtualHosts için hata günlüklerini incelemek

[Tue Dec 25 16:02:45 2012] [error] Server should be SSL-aware but has no certificate configured [Hint: SSLCertificateFile] (/path/to/www.site.org.conf:20)

ve aslında vhost SSLCertificateFile ile doğru bir şekilde yapılandırıldı.

Soru açıktır: bunu nasıl düzeltebilirim?

Yanıtlar:


38

Apache'nin en son sürümünde bir hata olabilir.

1. Çözüm: en son durağa düşürme

2. Çözüm: düzenle listen.conf

İle değiştirin Listen *:443(veya Listen 443kurulumunuza göre)Listen *:443 http

Kredi


1
Bunu gösterdiğin için teşekkürler! Beni merak etmekten çok kurtardın ... Acaba neden Apache'nin hayatı zorlaştırdığını merak ediyorum !?
saat

2
Çözüm 2: httpd.conf değil listen.conf olmamalı
zzapper

1
Not, bu bana bu sabah oldu ... sona erdi / "http" i /etc/httpd/conf.d/ssl.conf 'daki dinleme satırına eklemem gerekiyordu - oh, düşürmek zorunda değildim ...
Scott

Çözümler alternatif, listen.conf
usr-local-ΕΨΗΕΛΩΝ

10

Ben de aynı problemi yaşadım ve benim için işe yarayan şey inanılmazdı.

/etc/apache2/ports.conf dosyasını düzenleyin (ubuntu için veya httpd.conf için)

ssl_module altında "443 Dinle" yi "443 http Dinle" olarak değiştirin


Bu zaten kabul edilen cevapta.
Sven

2
Kabul edilen cevap modası geçmiş görünüyor. Bu cevap daha faydalı ve kesindi. +1
Parag

Bu cevap benim apache2.4 lamba kümemdeki apache için geçerlidir, ubuntu. Diğer cevap ise "listen.conf" - ports.conf olmalı
Nick

2

Bunun için başka bir çözüm de sizin: 443 hayaletinizin TLS yapılandırmasını içermesini sağlamaktır.

Bu sorun yakın zamanda Debian wheezy'de tanıtıldı ve çözümü http://blog.noizeramp.com/2010/10/03/apache-2-and-ssl-configuration/ adresinden aldım .


Bu benim sorunumdu. İçime bir vhost kopyaladım httpd.confama TLS yapılandırmasını belirten satırları ekleyemedim. Çeşitli TLS ayarlarının tekrar eklenmesi (SSLEngine, SSLCipherSuite, SSLCertificateFile ve SSLCertificateKeyFile) sorunu çözdü.
rinogo
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.