本ページでは、Web サイトを WAF に接続した後の HTTPS アクセス例外のトラブルシューティング方法について説明します (HTTP アクセスは正常です)。 現象には、ページを開くのに失敗、証明書が信頼できないというシステムプロンプト、一部のポートの呼び出しの失敗、および特定のマシンタイプ、オペレーションシステム、およびアプリケーションに対するアクセスエラーが含まれます。

HTTPS が有効で証明書がアップロードされていますか。

WAF を使用して HTTPS サービスを保護する場合は、WAF コンソールで [HTTPS] を選択し、サーバーの証明書とまったく同じ証明書またはキーをアップロードする必要があります。 WAF が Anti-DDoS Pro、SLB、CDN などのプロダクトと同期して使用されている場合でも、WAF コンソールで証明書またはキーをアップロードする必要があります。 WAF 証明書は他のプロダクトから独立しています。
コンソールで証明書をアップロードすると、設定が有効になるのに最大 5 分かかります。 この間も、アクセス例外が発生する可能性があります。 ホストをバインドし、WAF を設定、有効にしたら DNS 解決を切り替えます。

証明書チェーンは完全ですか。

たいていの場合、証明書サービスプロバイダーから複数の証明書 (サーバー証明書や 1 つ以上の CA ルート証明書など) が提供され、これらをまとめて完全な証明書チェーンが形成されます。 例として Alibaba Cloud 証明書を取り上げると、受け取ることのできる証明書チェーンは次の図のようになります。
(前の図に示すように)、完全な証明書チェーンを WAF に確実にアップロードします。 また、アップロードするときに証明書の順序に注意します。 たとえば、サーバー証明書は上部に、ルート証明書は下部に、そして複数の証明書のテキストコンテンツをまとめる必要があります。 以下は、アップロードする必要のある証明書の内容の例です。
-----BEGIN CERTIFICATE-----
MIIFdDCCBFygAwIBAgIQFmr88Z0mn6rEleGaC6UVEzANBgkqhkiG9w0BAQsFADCB
Obc3E+7h0u6cUXaQAmFNZ2a...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFYjCCBEqgAwINMTYwNjA3MDAwMDAwmlTaWduLCBJbmMuMRLnN5bWNiLmNvbS9
wY2EzLWc1Lm1hbnRlY1BLSS0yLTU...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIG/TCCBeWgAwIBAgIQLMUH03pBzhUCrOR0SsKM+DANBgkqhkiG9w0BAQsFADB+
NzIDMgUHVibGljIFByaW1...
-----END CERTIFICATE-----

証明書チェーンが不完全な場合、証明書が信頼できないというプロンプトがページに表示されることがあり、一部の Android 携帯電話、オペレーションシステム、またはアプリでアクセスエラーや例外が発生する可能性があります (環境によってはアクセスが正常な場合もあります)。

インターネット上で利用可能なサードパーティ製の検査ツール (たとえば、GeoCerts™ SSL チェッカー) を使用して、現在利用可能な証明書チェーンが完成しているか確認します。
この方法で解決できることはドメイン名のステータスの確認だけです。 ドメイン名を WAF ではなく配信元に対してすでに解決している場合は、WAF で証明書のステータスを確認できません。

SNI 問題

特定のクライアントまたはアプリケーションによっては通常 HTTPS サービスにアクセスできない場合、"SSL ハンドシェイク失敗 / エラー"、または "証明書が信頼できません" というプロンプトが表示されます。理由として、クライアントが SNI をサポートしていない可能性があります。 これらのクライアントまたはアプリケーションは、旧式の Android 機器、旧バージョンの JAVA で開発された呼び出しプログラム (特に SSL プロトコルを使用するプログラム)、Windows XP 上で動作する IE ブラウザー、一部の旧バージョンの携帯電話、および一部のサードパーティ支払コールバックインターフェイスである可能性があります。

現在、たいていのブラウザー、アプリケーション、WeChat および Alipay コールバックインターフェイスは SNI をサポートしています。 ドメイン名を配信元に対して解決するときにアクセスが正常に戻る場合、SNI 互換性の問題である可能性があり、ドメイン名を WAF に対して解決すると例外が発生します。 クライアントをアップグレードするか、コールバックインターフェイスを配信元に対して直接解決します。

詳細は、「SNI 互換性による HTTPS アクセスの例外 (信頼できない証明書) 」をご参照ください。

Windows Server 2003 / IIS6 サーバー

WAF に接続されている Windows Server 2003 または IIS 6 サーバーから HTTPS サービスにアクセスすると、白い画面または 502 エラーが発生することがあります。 これらのシステムの TLS バージョンと暗号化スイートは非常に旧式のため、セキュリティパフォーマンスがとても低く、WAF のデフォルト HTTPS back-to-source アルゴリズムと互換性がありません。 WAF は、Windows Server 2003 用 HTTPS back-to-source リクエストをサポートしていません。Microsoft は Windows Server 2003 を使用して HTTPS サイトを構築しないことを公式に推奨しています。 通信セキュリティのため、オペレーティングシステムを Windows Server 2008 以降にアップグレードすることを推奨します。

短い DH 鍵によるリンク障害

短い DH (ディフィーヘルマン) 鍵はセキュリティ上の問題として知られています。 WAF は短い鍵をサポートしていません。 同様に、WAF を使用していなくても、新しいバージョンの Firefox ブラウザー (51.0.1 など) を使用して配信元にアクセスすると、同様のエラーが表示されることがあります。
関連するコンポーネント (JDK バージョンなど) をアップグレードして、サーバーの DH 鍵アルゴリズムを確実に 2048 ビット以上にすることを推奨します。
鍵の長さはサーバーの暗号化アルゴリズムによって決まり、証明書とは無関係です。 操作方法がわからない場合は、サーバー開発者に連絡するか、関連する解決策を検索します。 以下のエラーメッセージに基づいて関連する解決策を見つけます。 SSL routines:ssl3_check_cert_and_algorithm:dh key too small

HTTP リダイレクトが必要なサービスで HTTP が有効になっていますか。

配信元を設定して HTTP アクセスリクエストを HTTPS に強制的にリダイレクトしている場合は、WAF で HTTP と HTTPS を両方とも選択する必要があります。 そうでない場合、これらの HTTP リクエストは WAF にリダイレクトされた後で正常に配信元に転送されず、システムはエラーを返します。