手動でデプロイした SSL 証明書が機能しない、またはブラウザにセキュリティ警告が表示される場合は、以下の確認項目に沿って原因を特定し、問題を解決してください。
デプロイステータスの確認
トラブルシューティングを開始する前に、SSL 証明書がすでに正常にデプロイされているかどうかを確認します:
HTTPS ドメインにアクセスします。アドレスバーに南京錠アイコンが表示されていれば、証明書は有効です。
[SSL 証明書管理] ページで、[Deployed] 列を確認します。ワンクリックデプロイ機能は SLB、Content Delivery Network (CDN)、Web Application Firewall (WAF) を対象としますが、Elastic Compute Service (ECS) は対象外です。
ECS インスタンスでは、OS 自体に SSL 証明書のデプロイステータスを示す表示はありません。これは想定どおりの動作であり、障害ではありません。
クイックチェックリスト
詳細な手順に入る前に、このリストを確認してください。デプロイ失敗の多くは、次のいずれかが原因です:
サーバーのファイアウォールまたはセキュリティグループでポート 443 が開放されていること
Web サーバー設定内の証明書ファイルのパスと名前が、ディスク上の実体と一致していること
設定変更後に Web サーバーを再起動していること
証明書のステータスが [発行済み] であること
証明書の [バインドされたドメイン] が、提供しているドメインと一致していること
証明書と秘密鍵が同時に生成されていること (キーペアが一致している)
証明書が X.509 形式で、PEM エンコードされていること (
.crtまたは.pem)証明書チェーンが完全であること (サーバー証明書 + 中間証明書 + ルート証明書)
証明書ファイルのディレクトリに、Web サーバープロセスの読み取り権限があること
DNS が正しい IP アドレスを指していること
1. ポート443の開放確認
HTTPS トラフィックはポート 443 を使用します。このポートがブロックされていると、ブラウザはセキュアな接続を確立できません。
Alibaba Cloud ECS インスタンスを使用している場合は、セキュリティグループルールを確認してください:
ECS コンソールの [セキュリティグループ] ページに移動します。
ポート 443 でインバウンドトラフィックが許可されていることを確認します。
セキュリティグループルールの管理の詳細については、「Manage security groups」をご参照ください。

Web Application Firewall (WAF) を使用している場合は、WAF がポート 443 への外部アクセスをブロックしていないことを確認してください:
Web Application Firewall 3.0 コンソールにログインします。上部メニューバーで、WAF インスタンスのリソースグループとリージョン ([中国本土] または [中国本土以外]) を選択します。
左側のナビゲーションペインで、[オンボーディング] をクリックします。
[CNAME レコード] タブで、ポート 443 への外部アクセスが許可されていることを確認します。

2. CDN または WAF のリバースプロキシの確認
ドメインが Content Delivery Network (CDN) または Web Application Firewall (WAF) のレイヤー 7 プロキシ配下にある場合、オリジンサーバーにのみ SSL 証明書をデプロイしても不十分です。CDN サービス側にも証明書を設定する必要があります。
CDN コンソールの [Certificate Service] ページで、アクセラレーション対象ドメイン名の HTTPS 証明書を設定します。
CDN コンソールでプライマリドメイン名をアクセラレーション対象ドメイン名として追加し、専用の CNAME を取得します。
wwwサブドメインの CNAME をプライマリドメイン名に流用しないでください。CDN の設定後に 502 エラーが発生する場合は、CDN のオリジン設定に移動し、[Origin SNI] を有効にして、オリジン [Host] ヘッダーと一致するように設定し、オリジンプロトコルを [Follow] に設定します。
3. Web サーバー設定の確認
パスの設定ミスやサービスの再起動漏れは、デプロイ失敗の代表的な原因です。
設定ファイル内の証明書ファイルのパスと名前が、ディスク上の実際の場所と一致していることを確認してください。次の NGINX の例は、関連するフィールドを示しています:
server { # ポート 443 は HTTPS のデフォルトポートです listen 443 ssl; server_name example.com; # これらのパスを、実際の証明書と秘密鍵のパスに置き換えてください ssl_certificate /etc/nginx/ssl/example.com.crt; ssl_certificate_key /etc/nginx/ssl/example.com.key; # その他の設定... }編集後に設定ファイルを保存したことを確認してください。
変更を適用するために Web サーバーを再起動してください:
NGINX:
sudo nginx -s reloadApache HTTP Server:
sudo systemctl restart httpd
4. 証明書の有効性とステータスの確認
Certificate Management Service コンソールにログインします。
左側のナビゲーションペインで、証明書管理 > SSL 証明書管理 V2.0 を選択します。
SSL 証明書管理 V2.0 ページで証明書を見つけ、次を確認してください:
[Status] が [発行済み] であること
[バインドされたドメイン] に正しいドメインが表示されていること


証明書の有効期限が切れている場合は更新してください。更新手順については、「SSL Certificate Renewal and Expiration Handling」をご参照ください。
自己署名証明書を使用している場合は、自己署名証明書はデフォルトでは信頼されないため、ブラウザに警告が表示されます。Google Chrome で信頼ステータスを確認するには、次の手順を実行してください:
Chrome でサイトを開きます。
アドレスバーの
アイコンをクリックします。警告アイコンが表示されない場合は、ブラウザが証明書を信頼しています。赤い
アイコンが表示される場合は信頼していません。

詳細を確認するにはアイコンをクリックします。証明書が信頼されていない場合、証明書情報ウィンドウに警告が表示されます。
商用証明書を使用している場合は、信頼された認証局 (CA) により発行されたことを確認してください。Chrome で確認するには、次の手順を実行してください:
アドレスバーの
アイコンをクリックします。[接続は安全です] をクリックします。
[証明書 (有効)] をクリックします。信頼できる CA が発行した証明書には、警告が表示されません。

「証明書情報」ウィンドウで、[発行者] フィールドのコモンネーム (CN) と組織名 (O) が、既知の CA と一致することを確認します。

5. DNS 名前解決の確認
DNS が正しいサーバー IP を指していない場合、HTTPS 接続は誤ったホストに到達し、証明書が一致しません。
Alibaba Cloud DNS コンソールにログインします。
[パブリックゾーン] ページの [権威ドメイン名] タブで、ドメイン名をクリックして [設定] ページを開きます。

[レコードの追加] をクリックし、[レコード値] がサーバーの IP アドレスと一致することを確認します。一致しない場合は、[編集] をクリックして更新します。

DNS の変更が反映されるまでには時間がかかる場合があります。最近 DNS 設定を更新した場合は、ローカルの DNS キャッシュをクリアして再試行してください。
DNS キャッシュのクリア
Windows
Win+Rを押し、cmdと入力して Enter キーを押し、コマンドプロンプトを開きます。次のコマンドを実行します:
ipconfig /flushdns「Successfully flushed the DNS Resolver Cache.」と表示されれば成功です。
macOS
「ターミナル」アプリケーションを開きます (
Command+Spaceを押して、[ターミナル] と入力し、Enter キーを押します)。次のコマンドを実行します:
# dscacheutilはシステムのキャッシュサービスと連携します sudo dscacheutil -flushcache # DNSサービスを担うバックグラウンドプロセスmDNSResponderを再起動します sudo killall -HUP mDNSResponder
管理者パスワードの入力を求められる場合があります。
Linux
コマンドは、システムで使用している DNS キャッシュサービスによって異なります:
DNS サービス | コマンド |
|
|
|
|
|
|
|
|
|
|
これらのコマンドには管理者権限が必要です。キャッシュをクリアすると、システムは上流サーバーから最新の DNS レコードを取得します。
6. ブラウザキャッシュのクリア
ブラウザが古い証明書データをキャッシュしている場合があります。ブラウザキャッシュをクリアしてサイトに再アクセスするか、シークレットモード (Chrome) または InPrivate モード (Microsoft Edge) でサイトを開き、キャッシュを回避してください。

7. 証明書チェーンの確認
重要な理由: ブラウザは、ルート証明書からサーバー証明書までの完全なチェーンを検証します。中間証明書が欠落していると、証明書が信頼されないという警告が表示されます。特に Android ブラウザでは、機関情報アクセス (AIA) URL を介した中間証明書の取得をサポートしていない場合があり、その影響が顕著です。
証明書チェーンは次の順序で並べる必要があります:
-----BEGIN CERTIFICATE-----
Website certificate
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
CA intermediate certificate
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
CA root certificate
-----END CERTIFICATE-----チェーンの順序は Web サイト証明書 > CA 中間証明書 > CA ルート証明書です。中間証明書チェーンは複数階層になる場合があります。
Chrome での証明書チェーンの表示
アドレスバーの
アイコンをクリックし、次に [接続は安全です] をクリックします。ポップアップウィンドウで、[証明書は有効です] をクリックします。
[詳細] をクリックし、[証明書階層] を確認します。

欠落している証明書チェーンの補完
Alibaba Cloud で証明書を申請した場合は、証明書ファイルを再ダウンロードしてください。ダウンロードした PEM ファイルには、サーバー証明書と中間証明書がすでに含まれています。
Windows では、証明書を手動で開いて中間証明書を見つけ、Base64 形式でエクスポートし、エクスポートした内容を証明書ファイルに追記します。
ルート証明書と中間証明書のダウンロードについては、「Download and install root certificates」および「Download SSL Certificate」をご参照ください。
信頼された CA によって発行された証明書のルート証明書は、主要なブラウザ (Google Chrome、Mozilla Firefox、Microsoft Edge)、OS (Windows、macOS)、およびモバイルデバイス (iOS、Android) に事前にインストールされています。アプリ、Java クライアント、古いブラウザ、IoT デバイスでは、サーバー証明書の種類に一致するルート証明書を手動でダウンロードしてインストールしてください。
8. 秘密鍵と証明書の一致確認
重要な理由: 証明書署名要求 (CSR) を生成すると同時に秘密鍵が作成されます。その証明書で使用できるのは、対応する秘密鍵のみです。一致しない秘密鍵をアップロードすると、HTTPS ハンドシェイクが失敗します。
Linux システムで一致を確認するには、次の手順を実行してください:
ECS インスタンスにログインし、証明書のインストールディレクトリに移動します:
# /sslを実際の証明書インストールパスに置き換えてください cd /ssl証明書の公開鍵の MD5 ハッシュを取得します:
# your_certificate.pemを実際のPEMファイル名に置き換えてください sudo openssl x509 -in your_certificate.pem -noout -pubkey | openssl md5秘密鍵の公開鍵の MD5 ハッシュを取得します:
# your_private_key.keyを実際の秘密鍵ファイル名に置き換えてください sudo openssl rsa -in your_private_key.key -pubout | openssl md52 つの MD5 ハッシュを比較してください。一致していれば、秘密鍵は証明書に対応しています。

秘密鍵を紛失した、または破損している場合は、新しいキーペアを生成して新しい証明書を申請してください。
9. ブラウザ互換性の確認
証明書形式と暗号スイートは、主要なブラウザと互換性がある必要があります。
信頼された CA を使用します。 主要なブラウザは、著名な CA の証明書を自動的に信頼します。
X.509 形式を使用してください。 次のコマンドで証明書形式を確認してください:
# /ssl/your_certificate.pemを実際のインストールパスに置き換えてください sudo openssl x509 -in /ssl/your_certificate.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) ......証明書と中間証明書チェーンは PEM 形式 (
.crtまたは.pemファイル) で保存してください。最新の暗号スイートを使用してください。 サーバーを TLS 1.2 または TLS 1.3 を使用するように設定し、脆弱なプロトコルとアルゴリズム (SSL 2.0、SSL 3.0、TLS 1.0、TLS 1.1、RC4、3DES) を無効化してください。
複数のブラウザとデバイスでサイトをテストし、互換性を確認してください。
10. 証明書ファイルディレクトリの権限の確認
Web サーバープロセスは証明書ファイルを読み取れる必要があります。権限が厳しすぎると、サーバーは証明書を読み込めません。
Linux サーバーで権限を確認して設定するには、次の手順を実行してください:
ディレクトリ権限を確認してください:
先頭の文字 (
d) はディレクトリを表します次の 3 文字 (
rwx) は所有者の権限であり、それぞれ読み取り、書き込み、実行を意味します。中央の 3 文字 (
r-x) はグループ権限であり、読み取り、実行を表します。最後の 3 文字 (
r-x) は他のユーザーの権限で、読み取りと実行を表します。
# /sslを実際の証明書ディレクトリパスに置き換えてください sudo ls -ld /ssl出力は
drwxr-xr-xのようになります:
Web サーバーを実行しているユーザーまたはグループに、読み取り (
r) および実行 (x) 権限があることを確認してください。 ディレクトリに対する実行権限により、ユーザーはそのディレクトリに入ることができます (たとえば、cdを使用して)。(オプション) 権限を更新するには、次を実行してください:
# /sslを実際の証明書ディレクトリパスに置き換えてください sudo chmod 750 /ssl750の権限は、所有者には読み取り、書き込み、実行権限を、グループには読み取りと実行権限を付与しますが、その他のユーザーには権限は付与されません。
Web サイトの実装は環境により異なります。SSL 関連のエラーメッセージを特定するために、Web サーバーとアプリケーションのログファイルを確認してください。問題が解決しない場合は、アカウントマネージャーに連絡してください。
よくある質問
古い SSL 証明書を置き換えるとサービス中断が発生しますか?
古い証明書の置き換え自体が、直接サービス中断を引き起こすことはありません。ただし、新しい証明書をデプロイした後は、通常、新しい証明書を有効にするために Web サーバーまたはアプリケーションを再起動する必要があります。再起動プロセスにより、短時間のサービス中断が発生する場合があります。オフピーク時間帯にこの操作を実施し、サービスを再起動する前に新しい証明書が正しくデプロイされていることを確認することを推奨します。