この記事では、WSL (Linux 用 Windows サブシステム) を使用して Windows で実行されている Microsoft Connected Cache for Enterprise および Education ノードの HTTPS サポートを検証する方法について説明します。
HTTP および HTTPS コンテンツのダウンロードをテストする
テストする前に、クライアントが接続キャッシュ サーバーに接続する方法を特定する必要があります。 これは、CSR の生成中に証明書のサブジェクト代替名 (SAN) で構成したのと同じ接続方法です。
重要
以下のすべてのコマンドの [mcc-connection] と [test-url] を置き換えます
[mcc-connection]を決定するには:
-
CSR で
-sanIpを使用した場合: IP アドレス (例:192.168.1.100) を使用します -
CSR で
-sanDnsを使用した場合: ホスト名 (例:mcc-server.contoso.com) を使用します
[test-url]は、Win32 アプリケーションIntuneテストの完全なパスです。ee344de8-d177-4720-86c1-a076581766f9/070a8fd4-79a7-42c8-b7c8-9883253bb01a/c7b1b825-88b2-4e66-9b15-ff5fe0374bc6.appxbundle.bin"
次の curl コマンドは、HTTP と HTTPS の両方のコンテンツ取得をテストします。
HTTPS テスト
curl.exe -v -o NUL "https://[mcc-connection]/[test-url]" --include -H "host:swda01-mscdn.manage.microsoft.com"正常な出力が予想されます。
* Connected to [your-server] ([ip-address]) port 443 (#0) * TLS 1.2 connection using TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 * Server certificate: [your-certificate-subject] < HTTP/1.1 200 OK < Content-Length: [file-size]HTTP テスト
curl.exe -v -o NUL "http://[mcc-connection]/[test-url]" --include -H "host:swda01-mscdn.manage.microsoft.com"正常な出力が予想されます。
* Connected to [your-server] ([ip-address]) port 80 (#0) < HTTP/1.1 200 OK < Content-Length: [file-size]
サービス側の検証
Windows ホスト コンピューターで次のテストを実行します。
PowerShell を使用して接続をテストする:
Invoke-WebRequest -Uri "https://[mcc-connection]/[test-url]" -Headers @{"host"="swda01-mscdn.manage.microsoft.com"} -Method Head予期される結果:
StatusCode: 200は、HTTPS 接続が成功したことを示します。HTTPS アクティビティの配信の最適化ログを確認します。
# Search for HTTPS connections in recent logs Select-String -Path "C:\Windows\Logs\DeliveryOptimization\*.log" -Pattern "https://" | Select-Object -First 5 # Search for your specific Connected Cache server connections Select-String -Path "C:\Windows\Logs\DeliveryOptimization\*.log" -Pattern "[mcc-connection]" | Select-Object -First 5予想される結果: HTTPS URL と接続キャッシュ サーバー アドレスを示すログ エントリは、クライアントが HTTPS を正常に使用していることを示します。
クライアント側の検証
(Windows ホスト コンピューターではなく) クライアント デバイスで次のコマンドを実行します。
前提: ホスト コンピューターがポリシーを使用して対象になっていることを確認します。 接続キャッシュ IP アドレス ("DOCacheHost" ポリシーの値) を、環境に関連するものに更新します。
$parentKeyPath = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DeliveryOptimization"
if (!(Test-Path $parentKeyPath))
{
New-Item -Path $parentKeyPath -ItemType RegistryKey -Force -ErrorAction Stop | Out-Null
}
Set-ItemProperty -Path $parentKeyPath -Name "DOCacheHost" -Value "[mcc-connection]" -ErrorAction Stop
HTTPS 経由で接続キャッシュから Teams アプリのダウンロードを要求します。
Add-AppxPackage "https://statics.teams.cdn.office.net/production-windows-x64/enterprise/webview2/lkg/MSTeams-x64.msix"または
Add-AppxPackage "https://installer.teams.static.microsoft/production-windows-x64/25177.2002.3761.5185/MSTeams-x64.msix"予想される結果: ダウンロードはエラーなしで完了し、一般的なインターネットダウンロードよりも高速である必要があります。
コンテンツが実際にキャッシュされていることを確認します (CDN にフォールバックするだけでなく)。
Get-DeliveryOptimizationStatus | Select-Object DownloadMode, TotalBytesDownloaded, BytesFromCacheServer予期される結果:
BytesFromCacheServerは 0 より大きくする必要があります。キャッシュが成功したことを示します。
トラブルシューティング
検証中に次の一般的なエラーが発生した場合は、次のトラブルシューティング方法を使用します。
重要
以下のすべてのコマンドで [mcc-connection] と [test-url] を置き換えるリマインダー
[mcc-connection]を決定するには:
-
CSR で
-sanIpを使用した場合: IP アドレス (例:192.168.1.100) を使用します -
CSR で
-sanDnsを使用した場合: ホスト名 (例:mcc-server.contoso.com) を使用します
[test-url]は、Win32 アプリケーションIntuneテストの完全なパスです。ee344de8-d177-4720-86c1-a076581766f9/070a8fd4-79a7-42c8-b7c8-9883253bb01a/c7b1b825-88b2-4e66-9b15-ff5fe0374bc6.appxbundle.bin"
証明書の検証エラー
症状:SSL certificate problem、 certificate subject name does not match
クイック テスト:
curl.exe -v -k -o NUL "https://[mcc-connection]/[test-url]"
テストが成功した場合: 証明書に検証の問題があります。 次のことを確認します。
- SAN 構成が接続方法と一致する
- CA ルート証明書がクライアントの信頼されたストアにインストールされている
テストが失敗した場合: 以下の 「接続エラー」 を参照してください。
証明書失効エラー
症状: 低速な HTTPS 応答またはタイムアウト
クイック テスト:
curl.exe -v --ssl-no-revoke -o NUL "https://[mcc-connection]/[test-url]"
テストが成功した場合: CA の証明書失効リスト (CRL) 配布ポイントに到達できません。 会社のファイアウォールで CRL URL へのアクセスが許可されていることを確認します。
テストが失敗した場合: 以下の 「接続エラー」 を参照してください。
接続エラー
症状:Connection refused、 Could not resolve host
HTTPS 接続エラーの場合:
ファイアウォール規則とポート転送が正しく構成されていることを確認する
他のサービスでポート 443 が使用されていないことを確認します。
netstat -an | findstr :443
HTTP 接続エラーの場合: Connected Cache サービスが実行されており、ポート 80 にアクセスできることを確認する
netstat -an | findstr :80
DNS 解決の問題の場合: ホスト名の解決とネットワーク接続を確認する
nslookup [mcc-connection]
企業プロキシの干渉
症状: 証明書の検証は、正しい構成にもかかわらず失敗します。
解決: 企業プロキシが接続キャッシュ サーバーへの HTTPS トラフィックをインターセプトしないようにします。 内部接続キャッシュ トラフィックの TLS 検査を無効にすることを検討してください。