Linux
 Computer >> コンピューター >  >> トラブルシューティング >> Linux

【解決策】サーバー証明書にサーバー名と一致するIDが含まれていないエラーの修正方法

サーバー証明書にサーバー名と一致するIDが含まれていないエラーとは

ApacheなどのWebサーバーソフトウェアを稼働させているサーバーでSSLの設定を行う際、「サーバー証明書にサーバー名と一致するIDが含まれていない」というエラーが表示されることがあります。厳密にはこれは単なる警告メッセージであり、理論上はそのまま作業を続けることも可能です。

しかし、少しトラブルシューティングを行って正常な状態へ戻しておくことをおすすめします。サーバー名と証明書が正しく一致していれば、次回システムを更新するときに同じ手順を繰り返す必要はありません。単純なファイル編集で解決しない場合は、証明書の再生成が必要になることもありますが、一度対応してしまえば、それ以上ファイルを設定し直す必要はありません。

方法1:httpd.confファイルを編集する

まずはhttpd.confファイルを確認しましょう。【解決策】サーバー証明書にサーバー名と一致するIDが含まれていないエラーの修正方法 Fedora、Red Hat、CentOSでApacheを稼働させている場合、このファイルは少し異なる場所に配置されていることがあります。DebianやUbuntuのサーバーでは、前述の場所に存在するはずです。ファイル内から「サーバー証明書にサーバー名と一致するIDが含まれていない」という警告メッセージに関連する記述を探してください。

【解決策】サーバー証明書にサーバー名と一致するIDが含まれていないエラーの修正方法

IPアドレスの各部分の後ろに443などの番号が表示されるものの、他にSSLに関する問題がない場合は、Apacheに対してリッスンすべきポートを指定していない可能性があります。以下のコマンドを実行して
【解決策】サーバー証明書にサーバー名と一致するIDが含まれていないエラーの修正方法「Listen 80」という行を探し、その下に「Listen 443」など必要なポート番号を追記します。ファイルを保存して閉じたら、【解決策】サーバー証明書にサーバー名と一致するIDが含まれていないエラーの修正方法 のコマンドでhttpdプロセスを再起動しましょう。

UbuntuやDebianのサーバーでは、FedoraやRed Hat Enterprise Linuxの一部バージョンとは異なり、このファイルが存在しなかったり、完全に空だったりすることがあります。その場合は、
【解決策】サーバー証明書にサーバー名と一致するIDが含まれていないエラーの修正方法 のコマンドでテキストファイルを編集し、リッスンするポートを追加してください。

多くの場合、ここまでの手順で問題は解決します。解決しない場合は、証明書の状態を確認する前に、ネットワーク関連の設定に問題がないかを一通りチェックしてみてください。

方法2:新しい証明書を再生成する

この警告メッセージは、自分で署名した証明書の有効期限が切れている場合にも表示されることがあります。証明書の再生成が必要な場合は、
【解決策】サーバー証明書にサーバー名と一致するIDが含まれていないエラーの修正方法 のコマンドを実行し、「File」と「KeyFile」という2つの行を探します。これらの行は、SSL証明書を作成する際の証明書キーファイルの保存場所を示しています。

公式のSSL証明書を発行する認証局(CA)と契約している場合は、必ずその認証局が提供する手順に従ってください。自己署名証明書を作り直す場合は、次のコマンドを使用します。
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout KeyFile -out File
「KeyFile」と「File」の部分は、先ほどのコマンドで確認した実際のパスに置き換えてください。証明書の入力と出力に使う2つのファイルの場所がわかっているはずです。

証明書が単に期限切れだった場合は、この操作だけでエラーは解消されるはずです。ただし、警告が表示されなくなるまで、サービスの再起動が必要になる場合があります。

トラブルシューティングを進めやすくするために、現在インストールされている証明書の詳細を確認することもできます。証明書に登録されている名前がサーバー名と一致しているかどうかを調べるには、次のコマンドを実行します。
openssl s_client -showcerts -connect ${HOSTNAME}:443
${HOSTNAME}の部分には実際のホスト名を入力してください。別のポートで問題が発生している場合は、443を該当するポート番号に変更します。

同一デバイス上に複数の証明書がインストールされており、同じIPアドレスから配信されている場合は、SNI(Server Name Indication)を利用して次のコマンドを実行します。
openssl s_client -showcerts -connect ${IP}:443 -servername ${HOSTNAME}
${IP}には実際のIPアドレスを、${HOSTNAME}にはホスト名を入力してください。この場合も、環境に応じて443を別のポート番号に置き換える必要があります。

なお、CSR(証明書署名要求)を作成する段階で、正しいホスト名がエイリアス(SAN)または共通名(CN)として指定されていることを必ず確認してください。ここが間違っていると、証明書を再発行しても同様の警告が繰り返し表示されます。

  1. 【Windows 10】「DNSサーバーが応答しません」エラーの原因と12の解決方法を徹底解説

    現代において、ほとんどのビジネスパーソンや専門家はインターネットなしには仕事が成り立ちません。そのため、貴重な情報を収集しようとしている最中にインターネットへアクセスできなくなると、深刻な支障をきたします。特に、締め切りが迫った作業に追われているときはなおさらです。インターネット接続を妨げる厄介な原因のひとつが、「DNSサーバーが応答しません(DNS Server Not Responding)」というエラーです。まるで昔話に出てくるように、橋の下に座るトロールが「ここは通さぬぞ!」と言って行く手を阻むようなものです。しかし安心してください。この記事で紹介するシンプルなトラブルシューティングの

  2. Windows 11でクイックアクセスが動作しない?原因と直し方を徹底解説

    Windows 11で「クイックアクセス」が正しく表示されない、または動作しないトラブルに困っていませんか?ファイルエクスプローラーを開いてもクイックアクセスパネルが見つからない、頻繁に使うフォルダが表示されないといった悩みは意外と多くあります。本記事では、この不具合を解消するための実用的な対処法を5つ厳選してご紹介します。Windows 11の「クイックアクセス」とは?Windows 11へのアップデートに伴い、ファイルエクスプローラーも大幅に刷新されました。その中で新たに搭載された便利な機能が「クイックアクセス」です。クイックアクセスには、よく使うファイルやフォルダ、最近開いた項目が一覧で