SSL 証明書を Web サーバーにデプロイした後、ブラウザーに「接続が安全ではありません」、「サイトにアクセスできません」、「サポートされていないプロトコル」などのエラーが表示されることがあります。一般的な原因として、証明書の有効期限切れ、ドメイン名の不一致、ポートのブロック、または TLS バージョンの古さが挙げられます。
「このサイトへの接続は安全ではありません」
考えられる原因:ブラウザーのキャッシュが古い、証明書とドメインの不一致、または証明書の有効期限切れ。
解決策:
-
ブラウザーのキャッシュをクリアして、Web サイトに再度アクセスします。
-
SSL 証明書にバインドされているドメインが、アクセスしようとしているドメインと一致することを確認してください。
オプション A: Certificate Management Service コンソールで確認する
Certificate Management Service コンソール にログインします。
左側のナビゲーションウィンドウで、[証明書管理] > [SSL 証明書管理] を選択します。
-
SSL 証明書管理 ページで、デプロイされた証明書を見つけ、バインドされているドメインがサイトのドメインと一致することを確認してください。一致しない場合は、そのドメインに対応する正しい証明書をアップロードしてください。
オプション B: ブラウザーで確認する
-
Web サイトのドメインにアクセスし、ブラウザーのアドレスバーにある鍵アイコンをクリックします。
-
[証明書は無効です] をクリックします。
-
証明書の詳細で、コモンネーム (CN) が Web サイトのドメインと一致することを確認してください。
-
SSL 証明書の有効期限が切れているかどうかを確認してください。
SSL 証明書はデフォルトで 1 年間有効です。その後のデプロイで「安全ではありません」という警告が表示される場合、証明書の有効期限が切れている可能性があります。次のいずれかの方法で有効期限を確認してください。
オプション A: Certificate Management Service コンソールで確認する
Certificate Management Service コンソール にログインします。
左側のナビゲーションウィンドウで、[証明書管理] > [SSL 証明書管理] を選択します。
-
SSL 証明書管理 ページで、デプロイされた証明書を見つけ、有効期限が切れているかどうかを確認してください。
証明書の有効期限が切れている場合は、速やかに更新してください。詳細については、「SSL 証明書の更新と有効期限」をご参照ください。
オプション B: ブラウザーで確認する
-
Web サイトのドメインにアクセスし、ブラウザーのアドレスバーにある鍵アイコンをクリックします。
-
[証明書は無効です] をクリックします。
-
証明書の詳細で、有効期限を確認してください。
-
SSL 証明書の形式が正しいことを確認してください。
Web サーバーによって、必要な証明書の形式が異なります。詳細については、「証明書のデプロイ」をご参照ください。
考えられる原因:設定ファイル内の証明書のパスまたはファイル名が正しくない。
解決策:
Web サーバーの設定ファイル内の証明書のパスとファイル名が、サーバー上の実際のファイルと一致することを確認してください。NGINX の例:
server {
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;
# その他の設定...
}
考えられる原因:新しい証明書を購入した後も、Web サーバーが古い証明書を使用している。
解決策:
デプロイタスクを作成して新しい証明書をサーバーにアップロードするか、設定されたパスにある古い証明書ファイルを置き換えてください。詳細については、「SSL 証明書を ECS および Simple Application Server にデプロイする」をご参照ください。
「このサイトにアクセスできません」
考えられる原因:ポート 443 が開いていない。
解決策:
-
Alibaba Cloud Elastic Compute Service (ECS) インスタンスを使用している場合は、ECS コンソールのセキュリティグループページにアクセスして、ポート 443 を開いてください。セキュリティグループの設定手順の詳細については、「セキュリティグループルールの追加」をご参照ください。
説明デフォルトポート (HTTP 80、HTTPS 443) では、URL にポート番号を含める必要はありません。デフォルト以外のポートの場合は、
http://ドメイン名:ポート番号またはhttps://ドメイン名:ポート番号の形式を使用します。 -
HTTPS ポート 443 が開いていることを確認してください。非標準ポートを使用している場合は、そのポートが開いており、他のサービスに占有されていないことを確認してください。
-
ファイアウォールが設定されている場合は、ポート 443 への外部アクセスがブロックされていないことを確認してください。
-
Alibaba Cloud 以外のサーバーの場合は、プロバイダーのセキュリティ設定ガイドを参照して、ポート 443 を開いてください。
考えられる原因:Web サーバーの設定が正しくない。
解決策:
-
SSL/TLS ディレクティブが正しく設定されており、ポート 443 がリッスンされていることを確認してください。
-
設定ファイルに構文エラーがないか確認してください。
考えられる原因:SSL 証明書の有効期限が切れているか、正しく発行されていない。
解決策:
-
証明書の有効期限が切れているかどうかを確認してください。有効期限が切れている場合は、速やかに更新してください。詳細については、「SSL 証明書の更新と有効期限」をご参照ください。
-
証明書が正しく発行されており、バインドされているドメインがアクセスしようとしているドメインと一致することを確認してください。
考えられる原因:DNS 名前解決の問題。
解決策:
-
ドメインが正しいサーバー IP アドレスに解決されることを確認してください。
pingまたはnslookupコマンドを使用して、DNS 名前解決を確認できます。 -
CDN サービスを使用している場合は、CDN が正しく設定されており、HTTPS トラフィックをブロックしていないことを確認してください。
問題が解決しない場合は、Web サーバーとアプリケーションのログを確認してください。別のデバイスまたはネットワークからアクセスして、ローカルの問題を除外してください。さらにサポートが必要な場合は、アカウントマネージャーにお問い合わせください。
「サポートされていないプロトコルを使用しています」
考えられる原因:Web サーバーが非推奨のプロトコルバージョン (SSL 2.0/3.0、TLS 1.0/1.1) を使用しているか、クライアント OS と互換性のない TLS バージョンを使用している。
解決策:
-
Web サーバーの設定で TLS 1.2 または TLS 1.3 を有効にしてください。クライアントが設定されたバージョンをサポートしていることを確認してください。NGINX の例:
server { listen 443 ssl; server_name yourdomain.com; # SSL 証明書と秘密鍵のパス ssl_certificate /path/to/your_certificate.crt; ssl_certificate_key /path/to/your_private.key; # サポートされる SSL/TLS プロトコルバージョンを設定 ssl_protocols TLSv1.2 TLSv1.3; # オプション: より安全な暗号スイートを設定 ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256'; location / { root /var/www/html; index index.html index.htm; } } -
サーバーの暗号スイートがクライアント OS の TLS バージョンと互換性があることを確認してください。以下の手順は Windows に適用されます。
-
コントロールパネルを開き、[ネットワークとインターネット] をクリックします。
-
[ネットワークとインターネット] パネルで、[インターネットオプション] をクリックし、[詳細設定] タブをクリックします。
-
セキュリティと互換性を向上させるために、TLS 1.2 または TLS 1.3 を選択してください。
-
「このページの一部 (画像など) は安全ではありません」または外部リソース読み込みの失敗
考えられる原因:Web サイトのソースコードが HTTP 経由でリソースを参照している。
解決策:
-
HTTP リソース URL を HTTPS に置き換えて、すべての外部リソース (画像、スクリプト、スタイルシート) が HTTPS 経由で読み込まれるようにしてください。
-
同じドメイン上のリソースの場合は、相対 URL を使用してください。ブラウザーは自動的に現在のページのプロトコルを使用します。
-
サードパーティのリソースが HTTPS をサポートしていない場合は、HTTP 参照を削除し、再デプロイして Web サイトを確認してください。
実装は Web サイトによって異なります。特定のシナリオに合わせてコードを変更してください。サポートが必要な場合は、アカウントマネージャーにお問い合わせください。