Win7 から Nextcloud に接続できない?TLS 1.2 設定で解決

同じ Nextcloud は Windows 11 で使えるのに、Windows 7 では何度も認証を求められ、最後は「システムに接続されたデバイスが機能していません」となる。今回の実測では、WinHTTP の既定値に TLS 1.2 を追加して再起動すると接続できました。

作者の実測環境は Windows 7 Professional SP1・64ビット、KB3140245 は導入済みです。修正後に Z: ドライブへの割り当てに成功しました。一つの環境で有効だった方法であり、すべての WebDAV 障害を直すものではありません。

修復の流れ:Win7 SP1とTLS1.2対応を確認し、WinHTTPの既定値を追加、再起動して接続
操作の模式図です。実機スクリーンショットではありません。

1. まず二つの前提を確認

  • Windows 7 SP1 と、KB3140245 相当の WinHTTP 対応が必要です。管理者のコマンドプロンプトで下記を確認します。表示がなくても、後の更新で対応済みの場合があるため、未対応と断定はできません。必要な更新は Microsoft Update カタログから、OS のビット数に合わせて入手します。
  • WebClient が動作すること。Win + R → services.msc で WebClient を探し、停止中なら開始します。手動起動でも利用でき、自動起動は必須ではありません。
wmic qfe get HotFixID | findstr 3140245

時刻が正しく、HTTPS 証明書が信頼され、システム側で TLS 1.2 が無効化されていないことも必要です。インターネットオプションの TLS 1.2 のチェックと、WinHTTP の既定値は別の設定です。

2. 保存してから、対応する設定を読み込む

TLS 1.2 設定パックをダウンロード(ZIP:x86/x64 と三言語の説明)。Win + Pause でシステムの種類を確認し、展開後に一つだけ選びます。

  • 64ビット Windows:Win7-WebDAV-TLS12-x64.reg
  • 32ビット Windows:Win7-WebDAV-TLS12-x86.reg

先にバックアップ:Win + R → regedit を開き、下記に含まれる WinHttp キーを右クリックしてエクスポートします。DefaultSecureProtocols の元の値、または未作成だったことを記録します。その後、対応する .reg をダブルクリックし、管理者の確認に進みます。

64ビット用の全内容は下記です。32ビットでは最初の WinHttp のみで、Wow6432Node の項目は不要です。読み込み前に内容を確認できます。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp]
"DefaultSecureProtocols"=dword:00000800

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp]
"DefaultSecureProtocols"=dword:00000800
手動設定ではDWORD32ビットのDefaultSecureProtocolsを作成し、16進数を選んで800を入力する
手動入力なら DWORD(32ビット)、16進数の800。64ビットOSでも値の種類は32ビットです。

これは WinHTTP の既定プロトコル選択を TLS 1.2 にする設定です。更新の導入や、アプリ・SCHANNEL の制約を上書きするものではありません。実際の成功例は通常側の WinHttp 値を追加して再起動したものです。Wow6432Node 側は Microsoft の x64 向け推奨構成であり、この実測で必要性を別途確認したものではありません。

3. 再起動して Nextcloud を割り当てる

  1. 作業を保存し、Windows 7 を再起動します。その後、WebClient が動作しているか確認します。
  2. Nextcloud の個人設定 → セキュリティで専用のアプリパスワードを作成します。ファイル画面の設定から実際の WebDAV URL をコピーします。
  3. Windows のコンピューター → ネットワークドライブの割り当てで Z: を選び、HTTPS URL を貼り付けます。実際のユーザーIDとアプリパスワードを入力します。表示名やアプリパスワードのラベルではありません。
https://cloud.example.com/nextcloud/remote.php/dav/files/USER_ID/

上記は形式の例です。ルートに設置されていれば /nextcloud はなく、標準以外の HTTPS ポートも必要です。推測せず、自分のサーバーが表示する URL をコピーしてください。

結果・失敗時の確認・元に戻す方法

この実測では同じ URL とアプリパスワードで、再起動後に Z: ドライブが表示されました。確認できたのは接続成功であり、大容量ファイルの転送は未検証です。まず自分の小さなファイルでアクセス権限を確認してください。

失敗する場合は URL、アカウント権限、証明書の信頼、WebClient、システムの TLS 1.2 対応を個別に確認します。BasicAuthLevel を2にする、証明書検証を無効にする、サーバーの TLS を弱める方法は避けてください。HTTPS 用の値が既に1なら変更不要です。今回の原因ではありませんでした。

元に戻す:元の値があれば復元し、元々なければ今回追加した DefaultSecureProtocols 値だけを削除します。WinHttp キー全体は削除しません。古いエクスポートの読み込みだけでは新規値は消えないため注意し、再起動後に確認します。

Windows 7 はサポート終了済みで、この設定だけで安全になるわけではありません。旧ソフトが必要な場合は通信を制限し、対応OSへの移行を検討してください。2026-10-18に作者から提供された実機記録をもとに作成。TLS パケットの取得は行っておらず、すべての接続障害の原因を証明したものではありません。

公式資料:Microsoft KB3140245 · WinHTTP と x64 のパス · Nextcloud WebDAV

コメントする

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

上部へスクロール