このトピックは、SSL 証明書を手動でデプロイした後に発生する問題 (証明書が有効にならない、Web サイトが安全でないと表示されるなど) のトラブルシューティングと解決に役立ちます。
トラブルシューティングの手順
サーバーでポート 443 が開いているかどうかの確認
Alibaba Cloud Elastic Compute Service (ECS) サーバーを使用している場合は、ECS コンソールの [セキュリティグループ] ページに移動して、ポート 443 が開いているかどうかを確認します。セキュリティグループの設定方法の詳細については、「セキュリティグループの管理」をご参照ください。

Web Application Firewall (WAF) を使用している場合は、サーバーのファイアウォール設定を確認し、ポート 443 への外部アクセスをブロックしていないことを確認してください。
Web Application Firewall 3.0 コンソールにログインします。上部のメニューバーから、WAF インスタンスのリソースグループとリージョン (中国本土 または 中国本土以外) を選択します。
左側のナビゲーションウィンドウで、アクセス管理 をクリックします。
CNAME アクセス タブで、ポート 443 が外部アクセスを許可しているかどうかを確認します。

Web サーバーの設定ファイルの確認
設定ファイル内の証明書ファイル名とパスが正しいことを確認してください。設定ファイルで指定された証明書のストレージパスとファイル名は、サーバー上の実際のパスとファイル名と完全に一致する必要があります。以下は Nginx の設定例です。
server { # ポート 443 は HTTPS のデフォルトポートです listen 443 ssl; server_name example.com; # 以下のパスを SSL 証明書と秘密鍵ファイルのパスに置き換えてください ssl_certificate /etc/nginx/ssl/example.com.crt; ssl_certificate_key /etc/nginx/ssl/example.com.key; # その他の設定... }設定ファイルの変更が保存されていることを確認してください。
Nginx や Apache などの一部の Web サーバーでは、設定ファイルの変更を有効にするために再起動が必要です。
Nginx サービスを再起動します。
sudo nginx -s reloadApache サービスを再起動します。
sudo systemctl restart httpd
証明書の有効性の確認
証明書が有効期間内であるか確認してください。
Certificate Management Service コンソールにログインします。
左側のナビゲーションウィンドウで、証明書管理 > SSL 証明書管理 を選択します。
SSL 証明書管理 ページで、デプロイされた証明書を見つけ、期限切れでないか確認します。
証明書が期限切れの場合は、速やかに更新してください。有料証明書の更新方法の詳細については、「SSL 証明書の更新と期限切れ証明書の管理」をご参照ください。

証明書の ステータス が 発行済み であり、ドメイン名のバインド が正しいことを確認してください。

証明書が正しくインストールされていることを確認してください。これには、証明書ファイルを正しい証明書フォルダに配置し、Nginx や Apache などの Web サーバーの設定ファイルで証明書セクションを設定して証明書を適用することが含まれます。
自己署名証明書を使用している場合は、ご利用のブラウザがそれを信頼していることを確認してください。
以下の手順では、Chrome を例に、ブラウザが証明書を信頼しているかどうかを確認する方法を示します。
ブラウザで自己署名証明書を使用している Web サイトを開きます。
アドレスバーの
アイコンをクリックします。ブラウザが証明書を信頼している場合、アドレスバーの左側に警告アイコンは表示されません。信頼していない場合は、次の図に示すように、赤い
警告アイコンが表示されます。
証明書の詳細を表示します。ブラウザが証明書を信頼していない場合、証明書情報ウィンドウに関連する警告が表示されます。
自己署名証明書でない証明書を使用している場合は、信頼された認証局 (CA) によって発行されていることを確認してください。そうでない場合、ブラウザは証明書を信頼しないため、接続をブロックする可能性があります。
以下の手順では、Chrome を例に、自己署名でない証明書が信頼された CA によって発行されているかどうかを確認する方法を示します。
証明書情報を表示する:
アドレスバーの左側にある
アイコンをクリックします。[接続は安全です] をクリックして、接続の詳細を表示します。
[証明書は有効です] または同様のオプションをクリックします。証明書が信頼された CA によって発行されている場合、ブラウザは証明書が有効であることを示し、警告は表示されません。

発行者情報を表示します。表示される証明書情報ウィンドウで、発行者フィールドを見つけます。コモンネーム (CN)、組織 (O)、およびその他の関連情報を確認して、既知の CA の名前が含まれているかどうかを確認します。

ドメイン名の名前解決が正しいことの確認
特に最近ホストまたは IP アドレスを変更した場合は、DNS レコードが正しい IP アドレスを指していることを確認してください。
Alibaba Cloud DNS コンソールにログインします。
権威 DNS 名前解決 ページの [権威ドメイン名] タブで、ターゲットドメイン名をクリックして 解決設定 ページを開きます。

解決設定 ページで、Add Record ボタンをクリックします。レコード値 がご利用の IP アドレスと一致することを確認します。一致しない場合は、[変更] ボタンをクリックして修正します。

最近ドメイン名の名前解決設定を変更した場合、変更が有効になるまでに遅延が発生する可能性があります。ローカルの DNS キャッシュをクリアして再試行するか、変更が伝播するまで待つことができます。
以下のセクションでは、さまざまなオペレーティングシステムでローカル DNS キャッシュをクリアする方法について説明します。
Windows
コマンドプロンプトを開きます。
Win + Rを押し、cmdと入力して Enter キーを押します。コマンドプロンプトで、次のコマンドを入力して Enter キーを押します。
ipconfig /flushdns「Successfully flushed the DNS Resolver Cache」というメッセージが表示されれば、ローカル DNS キャッシュがクリアされたことを示します。
macOS
ターミナルを開きます。
Command + Spaceを押して Spotlight 検索を開き、「Terminal」と入力して見つけます。ターミナルで、次のコマンドを入力して macOS の DNS キャッシュをクリアし、Enter キーを押します。
# dscacheutil は、システムのキャッシュサービスと対話するために使用されるコマンドラインインターフェイスです。 sudo dscacheutil -flushcache次に、ターミナルで次のコマンドを入力して、HUP シグナルを送信することで
mDNSResponderプロセスを再起動し、Enter キーを押します。# mDNSResponder は、DNS サービスを担当するバックグラウンドプロセスです。再起動することで、キャッシュが完全に消去されます。 sudo killall -HUP mDNSResponderエラーメッセージが表示されなければ、コマンドは正常に実行されました。
説明プロセス中に管理者パスワードの入力を求められる場合があります。パスワードを入力して Enter キーを押してください。
Linux
Linux システムでは、ローカル DNS キャッシュをクリアする方法は、システムが使用する DNS キャッシュサービスによって異なります。以下のセクションでは、いくつかの一般的な DNS キャッシュサービスのキャッシュをクリアする方法について説明します。
systemd-resolvedお使いの Linux システムが
systemd-resolvedを使用して DNS キャッシュを管理している場合、次のコマンドを実行してキャッシュをクリアできます。sudo systemd-resolve --flush-cachesnscd(Name Service Cache Daemon)お使いの Linux システムが
nscdを使用して DNS キャッシュを管理している場合、nscdサービスを再起動することでキャッシュをクリアできます。sudo service nscd restartまたは:
sudo systemctl restart nscddnsmasqお使いの Linux システムが
dnsmasqを使用して DNS キャッシュを管理している場合、dnsmasqサービスを再起動することでキャッシュをクリアできます。sudo service dnsmasq restartまたは:
sudo systemctl restart dnsmasqBINDお使いの Linux システムが
BIND(Berkeley Internet Name Domain) を使用して DNS キャッシュを管理している場合、次のコマンドでキャッシュをクリアできます。sudo rndc flushNetworkManager一部の Linux ディストリビューションでは、DNS キャッシュを含むネットワーク設定を管理するために
NetworkManagerを使用しています。NetworkManagerサービスを再起動することでキャッシュをクリアできます。sudo service network-manager restartまたは:
sudo systemctl restart NetworkManager
説明システムが使用する DNS キャッシュサービスに基づいて適切なコマンドを選択してください。これらのコマンドの実行には通常、管理者権限が必要なため、コマンドの前に
sudoを追加する必要がある場合があります。DNS キャッシュをクリアすると、システムは DNS サーバーから最新のドメイン名解決情報を取得します。これにより、ネットワークアクセスの問題を解決できます。
ブラウザのキャッシュのクリア
ブラウザが古い SSL 証明書情報をキャッシュしている可能性があります。ブラウザのキャッシュをクリアしてから、再度 Web サイトにアクセスしてみてください。
シークレットモードまたはプライベートモードで Web サイトにアクセスしてみてください。Chrome の操作は次の図に示されています。Edge を使用している場合は、[新しい InPrivate ウィンドウ] をクリックする必要があります。

証明書チェーンが完全であることの確認
中間証明書とルート証明書を含む、証明書チェーン全体が完全であることを確認してください。ブラウザは、ルート証明書からサーバー証明書までの完全な証明書チェーンを検証する必要があります。チェーンが不完全な場合、ブラウザは証明書を信頼しない可能性があります。
説明ルート証明書は、証明書の信頼チェーンの開始点であり、その CA によって発行されたすべての下位証明書の信頼性を検証するために使用されます。信頼された CA によって発行された SSL 証明書の場合、そのルート証明書は主要な Web ブラウザ (Google Chrome、Mozilla Firefox、Microsoft Edge など) やオペレーティングシステム (Windows、macOS、Android、iOS など) にプリインストール済みです。ただし、ルート証明書がプリインストールされていないクライアント (アプリ、Java クライアント、古いブラウザ、IoT デバイスなど) の場合は、サーバー証明書の種類に一致するルート証明書を手動でダウンロードし、対応するクライアントにインストールする必要があります。これにより、クライアントはサーバーと安全な HTTPS 接続を確立できます。SSL 証明書の種類に一致するルート証明書を手動でダウンロードするには、「ルート証明書のダウンロードとインストール」をご参照ください。
中間証明書は、ルート証明書とユーザーエンティティ証明書 (SSL 証明書など) の間に位置し、上位の CA から下位の CA に発行されます。Alibaba Cloud Certificate Management Service では、ダウンロードした PEM ファイルにサーバー証明書と中間証明書が含まれています。秘密鍵 (KEY ファイル) はサーバー証明書とペアになっており、安全な HTTPS 通信を保証します。中間証明書を使用すると、ルート証明書が直接 SSL 証明書に署名するリスクを軽減できます。ルート証明書を取り消す必要がある場合、直接署名されたすべての証明書は信頼を失います。中間証明書の秘密鍵でユーザーの SSL 証明書に署名することで、このリスクを効果的に軽減できます。中間証明書をダウンロードするには、「SSL 証明書のダウンロード」をご参照ください。
証明書チェーンの欠落は、SSL 証明書の検証失敗の一般的な原因です。ほとんどのデスクトップブラウザは、機関情報アクセス (AIA) URL を使用して中間証明書を取得できます。ただし、一部のモバイルブラウザ、特に Android では、この機能をサポートしていません。これにより、証明書が信頼できないとマークされることがあります。これを解決するには、サーバー証明書と完全な証明書チェーンを 1 つのファイルにマージし、それをサーバーにデプロイする必要があります。ブラウザが接続すると、サーバーは完全なチェーンを送信し、ブラウザが証明書を信頼できるようになります。SSL 証明書チェーンの構造は次のとおりです。
-----BEGIN CERTIFICATE----- Web サイト証明書 -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- CA 中間認証局 -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- CA ルート認証局 -----END CERTIFICATE-----説明SSL 証明書チェーンの構造は、一般的にWeb サイト証明書 > CA 中間認証局 > CA ルート認証局で構成されます。中間証明書も多層構造を持つ場合があります。
SSL 証明書チェーンの表示方法
このセクションでは、Chrome ブラウザを例に説明します。
ブラウザのアドレスバーで
アイコンをクリックし、表示される情報カードで [接続は安全です] をクリックします。表示される [接続は安全です] ウィンドウで、[証明書は有効です] をクリックします。
[詳細] をクリックし、[証明のパス] を表示して SSL 証明書チェーンを確認します。次の図は一例です。

SSL 証明書チェーンを完全にする方法
証明書が Alibaba Cloud を通じてリクエストされた場合、証明書ファイルを直接再ダウンロードできます。これにはすでに完全な証明書チェーンが含まれています。
Windows では、手動で証明書を開き、中間証明書を見つけて Base64 形式でエクスポートします。次に、エクスポートした内容を元の証明書にコピーします。
秘密鍵が正しいことの確認
Web サーバーにアップロードされた証明書と秘密鍵が一致し、正しい形式であることを確認してください。
秘密鍵は、証明書署名リクエスト (CSR) を生成する際に作成されます。この秘密鍵は、対応する証明書とペアになっている必要があります。以下の手順は、Linux システムで秘密鍵が証明書と一致するかどうかを確認する方法を示しています。
ECS サーバーのバックエンドにログインし、次のコマンドを使用して証明書のインストールフォルダに移動します。
# / はルートフォルダです。ssl パスは一例です。証明書の実際のインストールパスを使用してください。 cd /ssl次のコマンドを使用して証明書の公開鍵情報を表示し、その MD5 ハッシュを取得します。
# your_certificate.pem を ECS サーバーの証明書フォルダにある PEM ファイルに置き換えてください。 sudo openssl x509 -in your_certificate.pem -noout -pubkey | openssl md5次のコマンドを使用して秘密鍵ファイル内の公開鍵情報を表示し、その MD5 ハッシュを取得します。
# your_private_key.key を ECS サーバーの証明書フォルダにある秘密鍵ファイルに置き換えてください。 sudo openssl rsa -in your_private_key.key -pubout | openssl md52 つのコマンドから得られた MD5 ハッシュを比較します。それらが同じであれば、秘密鍵は証明書と一致しています。

秘密鍵が紛失または破損した場合は、新しい秘密鍵を生成し、新しい証明書をリクエストする必要があります。
ブラウザの互換性の確認
証明書の形式と暗号スイートが主要なブラウザと互換性があることを確認してください。
サーバー上の証明書形式と暗号スイートが主要なブラウザと互換性があることを確認することは、Web サイトを保護するための重要なステップです。以下に互換性を確保するためのいくつかの方法を示します。
信頼された認証局 (CA) を使用する
信頼された CA を選択して SSL/TLS 証明書を発行します。主要なブラウザは、これらの CA によって発行された証明書を自動的に信頼します。
正しい証明書形式を使用する
証明書が SSL/TLS 証明書の標準形式である X.509 フォーマットであることを確認してください。
証明書が X.509 フォーマットであるかを確認するには、次の方法で証明書ファイルの内容と形式を調べることができます。
opensslコマンドラインインターフェイスを使用して証明書の内容を表示する# /ssl/cert.pem を証明書ファイルの実際のインストールパスに置き換えてください。 sudo openssl x509 -in /ssl/cert.pem -text -noout証明書が X.509 フォーマットの場合、このコマンドはバージョン、シリアル番号、署名アルゴリズム、発行者、有効期間、公開鍵情報など、証明書の詳細情報を出力します。
出力例:
Certificate: Data: Version: 3 (0x2) Serial Number: 01:23:45:67:89:ab:cd:ef:01:23:45:67:89:ab:cd:ef Signature Algorithm: sha256WithRSAEncryption Issuer: C = US, O = DigiCert Inc Validity Not Before: Jan 17 00:00:00 2025 GMT Not After : Jan 17 23:59:59 2026 GMT Subject: CN = example.com Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public-Key: (2048 bit) ......このコマンドが正常に実行され、証明書の詳細情報が表示された場合、ご利用の証明書は X.509 フォーマットです。
証明書と中間証明書チェーンを保存するには、PEM フォーマット (通常は
.crtまたは.pemファイル) を使用します。
最新の暗号スイートを使用する
サーバーを構成して、TLS 1.2 や TLS 1.3 などの最新の暗号スイートを使用します。これらのバージョンは、より優れたセキュリティと互換性を提供します。
SSL 2.0、SSL 3.0、TLS 1.0、TLS 1.1、RC4、3DES などの安全でないプロトコルや暗号化アルゴリズムを無効にします。
さまざまなブラウザやデバイスで接続をテストします。
証明書ファイルを含むフォルダに正しい読み取り権限があることの確認
Web サーバーが証明書ファイルを含むフォルダに対する読み取り権限を持っていることを確認してください。
以下の手順は、Linux で証明書ファイルのフォルダに適切な読み取り権限があることを確認する方法を示しています。
ls -ldコマンドを使用してフォルダの権限を表示します。# 例のパス /ssl を証明書ファイルの実際のインストールパスに置き換えてください。 sudo ls -ld /sslこれにより、次のような情報が出力されます。
説明権限フィールド (例:
drwxr-xr-x) の意味:最初の文字
dは、これがフォルダであることを示します。次の 3 文字
rwxは、オーナーの権限を表します:読み取り (r)、書き込み (w)、実行 (x)。中間の 3 文字
r-xは、同じグループのユーザーの権限を表します:読み取り (r) と実行 (x)。最後の 3 文字
r-xは、他のユーザーの権限を表します:読み取り (r) と実行 (x)。
権限が適切であることを確認します。
読み取り権限:関連するユーザーまたはサービスがフォルダに対する読み取り (r) 権限を持っていることを確認します。
実行権限:フォルダの場合、実行 (x) 権限はユーザーがフォルダに入ること、つまり
cdコマンドを使用してそのフォルダに切り替えることを許可します。
(オプション) 権限の変更
権限を変更するには、
chmodコマンドを使用します。# 例のパス /ssl を証明書ファイルの実際のインストールパスに置き換えてください。 sudo chmod 750 /ssl説明750権限の意味:オーナーは読み取り、書き込み、実行の権限を持ちます。
同じグループのユーザーは読み取りと実行の権限を持ちます。
他のユーザーは権限を持ちません。
これらの手順に従うことで、Linux サーバー上のフォルダの読み取り権限を確認および調整し、セキュリティと機能性を確保できます。
実装ロジックは Web サイトによって異なる場合があります。Web サーバーとアプリケーションのログファイルを確認して、SSL 関連のエラーメッセージを探し、問題に関する具体的な手がかりを見つけてください。問題が解決しない場合は、アカウントマネージャーに連絡して支援を求めてください。