Azure App ServicesのTLS 1.0での認証問題について


説明

Microsoftは、近年Azure App ServicesでのTLS1.0のサポートを終了し、デフォルトでTLS1.2に切り替えました(Azure App ServiceのTLSの計画に関するディスカッションをご参照ください)。技術的な詳細情報については、以下の記事を参照してください。
.NET Framework でのトランスポート層セキュリティ (TLS) のベスト プラクティス

TLS 1.0に依存するすべての.NETの呼び出しは、Azure App Servicesでの認証の問題につながります。

Exception
System.Net.WebException: The underlying connection was closed: An unexpected error occurred on a send. --->
System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. --->
System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host.

備考:これは、Sitecore XP 9.0以降のデプロイには影響を与えません。

以下に、この件をよりよく理解するのに役立つ記事がありますので、ご参照ください。
Azure Cache for RedisにおけるTLS1.0と1.1の廃止

解決策

コードから特定のTLSバージョンを設定しない場合、スタンドアロンWebアプリケーションに使用されている.NET Frameworkのバージョンを確認する必要があります:

既存のインストール

以下のリンクから、リリース アーティファクトとして公開されているSitecore XPパッケージをダウンロードし、解凍します。
https://github.com/Sitecore/Sitecore-Azure-Quickstart-Templates/releases/download/v2.2.1/set_tlsVersion.scwdp.zip.

設定パッチとアセンブリを検索し、ソリューションに加えます。

新規インストール

ARMテンプレート(https://github.com/Sitecore/Sitecore-Azure-Quickstart-Templatesに掲載されているもの)は、Web Deployパッケージに修正プログラムを含めるようにすでにアップグレードされています。