web-dev-qa-db-ja.com

「サーバーはSSL対応である必要がありますが、証明書が構成されていません[ヒント:SSLCertificateFile]」エラー

最近Apache2をバージョン2.2.31にアップグレードした後、SSL VirtualHostセットアップで奇妙な動作が見つかりました。

クライアントがServer Name Identificationを認識していても、私がホスティングしているWebサイトのいくつかにデフォルトのホストの証明書が表示されていましたが、これはそのうちのいくつかでのみ発生しました。これは、ホームバンキングを閲覧している場合に詐欺の可能性があるというFirefoxとChromeの一般的なパスポート警告として表示されますが、それは事実ではありませんでした。

明確にするために、サーバーHost.hostingdomain.orgに独自のSSLがある場合、https://www.hostedsite.orgにアクセスしようとするとHost.hostingdomain.orgの証明書が報告されますが、一部のhttps://www.hostedsite.meは正しい証明書を報告しました。

すべてのサイトは、ポート443の同じIPアドレスでホストされています。実際、VirtualHostingはHTTP側で機能し、SNI対応クライアントをSSLに自動的にリダイレクトするため、SNI非対応クライアントとの下位互換性があります。

問題のあるVirtualHostsのエラーログを調べると、次のテキストが表示されます

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

実際、vhostはSSLCertificateFileで正しく構成されていました。

問題は明白です。それをどのように修正すればよいですか?

Apacheの最新バージョンのバグである可能性があります。

解決策1:最新の安定版にダウングレードする

解決策2:編集listen.conf

置換Listen *:443(またはListen 443設定に応じて)Listen *:443 http

クレジット

私は同じ正確な問題を抱えていました、そして私のために働いたものは信じられないほど単純でした

/etc/Apache2/ports.confを編集します(ubuntuまたはhttpd.confの場合)

ssl_moduleの下の「Listen 443」を「Listen 443 http」に変更します

10
Justice O.

このための別の解決策は、すべての:443 vhostsにTLS構成が含まれていることを確認することです。

この問題は最近 Debian wheezyで導入 であり、私は http://blog.noizeramp.com/2010/10/03/Apache-2-and-ssl-configurationから解決策を得ました/

2
Francois Marier