いくつかのサーバーから証明書を削除するように求められましたが、httpdの設定については何も知りません。1つのサーバーでこれを行うと、
/usr/sbin/httpd -t -DDUMP_CERTS 2>/dev/null | /bin/sort -u
私は
/etc/httpd/certs/domain1.certificate
/etc/httpd/certs/domain2.certificate
/etc/httpd/certs/domain3.cert
/etc/pki/tls/certs/localhost.crt
domain3.cert のみを保持したいのですが、他のものを削除するにはどうすればよいでしょうか?
マシン上にこれが 1 つしかない場合/etc/pki/tls/certs/localhost.crt
、別の方法で削除する必要がありますか? localhost.crt に言及している行をコメント アウトしてみましたが、サービスを再起動すると/etc/httpd/conf.d/ssl.conf
httpd が報告しますfailed
。
答え1
この質問は 1 年前の質問なので、回答はおそらく遅すぎるでしょうが、とにかく、誰かがすでにこの質問を見つけ出しているので、将来の訪問者のためにここに回答を載せておく価値があるかもしれません。残念ながら、使用されているディストリビューションや、httpd 機能を提供する特定のパッケージ (Apache、Nginx、その他) に関する詳細な情報がないため、当てずっぽうになりますが、とにかく:
あなたが言及した再起動が失敗する理由は、おそらく、一般的な設定ファイルで証明書をコメントアウトし、それを他のファイル、おそらく vhost 設定に残しているためです。これを確認するには、次のようにします。grep -E '(domain[12]\.certificate|localhost\.crt) /etc/httpd/sites-enabled/*'
これは、文字列domain1.certificate
、domain2.certificate
およびlocalhost.crt
/etc/httpd/sites-enabled/ ディレクトリ内のすべてのファイルを検索します。これらの文字列のいずれかが見つかった場合は、それらを含むファイル名が先頭に付けられた関連行が出力されます。次に、それらの行をコメントアウトします。別の証明書を提供するために証明書ファイルのパスを変更するか、プレーン HTTP のみが必要な場合は HTTPS セクション全体をコメントアウトする必要がある場合があります。
完了したら、再起動 (または構成のテスト) を試してください。再起動が正常に完了した場合、サーバーは証明書の使用を停止しています。