SSLハンドシェイクで問題が発生しているのは、トラフィックが多すぎることです。サイトを使用しているクライアントが同じであるため、リクエスト間にハンドシェイクを保存する方法を探しています。私たちはAzure Webappsを使用しています。これはAzure上でWebアプリケーションとしてホストされている.NETアプリケーションです。Azure WebappでのSSLハンドシェイクの再利用
2つの解決策を見てきました。 1. http keep aliveヘッダーでTCPセッションの長さを増やします。 2. SSLセッションの償還/再利用を使用します。
1: 最大接続数が問題となる可能性があります。トラフィックマネージャは500k接続をサポートする必要があります https://docs.microsoft.com/en-us/azure/azure-subscription-service-limits#traffic-manager-limits
しかし、私はAzure Webアプリケーションがトラフィックマネージャを使用しているとは確信していませんか?私が見つけた何
は紺碧のウェブアプリケーションの制限のリストだった: https://github.com/projectkudu/kudu/wiki/Azure-Web-App-sandbox
そして、私は正しいことを読めば、最大8000のノードあたりの接続ノードの最大数は10である上記ビットです。したがって、80,000の接続が得られますが、たとえばtableStorageやblobStorageなどのアウトバウンド接続も含まれます。
2: これはWindows 2012サーバーとApacheとnginxでサポートされています。しかし、AzureのWebアプリケーションと、Azureで見つかったロードバランサのどちらもこれをサポートしていないようです(正しい?)。これを達成するための唯一の方法は、私たち自身をサポートするロードバランサを搭載した仮想マシン(たとえばnginx)をセットアップすることです。
私たちの質問は次のとおりです。 1. azure webappsとのすべての接続でSSLハンドシェイクが行われないようにするには、どのような方法が推奨されますか? 2.上記の理由に間違いやコメントはありますか?
SSLセッションがApplication Gatewayで停止するため、APRはこれにどのように影響しますか? – iveqy
Azure WebAppアーキテクチャでは、ARRは**アプリケーション要求ルーティング** IIS Extensionの略で、接続中のユーザーをアクティブインスタンス間で分散します。 ARRは、要求を選択されたWebインスタンスに転送します。 ARRの詳細については、[document](https://azure.microsoft.com/en-us/blog/disabling-arrs-instance-affinity-in-windows-azure-web-sites/)を参照してください。 –