Включение поддержки HTTPS для подключенного кэша Майкрософт в Windows

В этой статье приведены инструкции по включению поддержки HTTPS на Подключенный кэш Майкрософт для предприятий и образовательных учреждений узлах, работающих на хост-компьютере Windows.

Процесс установки требует создания запроса подписи сертификата (CSR) на хост-компьютере, подписывания CSR с помощью корпоративного или общедоступного PKI, а затем импорта обратно на хост-компьютер.

Предварительные условия

Перед настройкой функций HTTPS убедитесь, что выполнены следующие требования:

  • Узел кэша находится в общедоступной версии программного обеспечения

    1. Откройте портал Azure и перейдите к ресурсу Connected Cache for Enterprise, в котором размещаются узлы кэша.
    2. В разделе Управление узлами кэша найдите узел кэша, на котором необходимо включить ПРОТОКОЛ HTTPS.
    3. Убедитесь, что узел находится в общедоступной версии. В столбце Перенесено должно отображаться значение "Да" или "Н/Д".
    4. Если нет общедоступной версии ("Нет" в столбце Перенесено ), выберите узел кэша, перейдите на вкладку Развертывание и следуйте инструкциям по повторному развертыванию подключенного кэша.
  • Доступ к центру сертификации (ЦС)

    Вам потребуется доступ к корпоративной PKI или общедоступному ЦС. При использовании корпоративной PKI проверка требования вашей организации к отправке CSR в ЦС.

  • Методы подключения клиента документирования

    Обратите внимание на IP-адрес или имя узла (FQDN), которые клиенты используют для подключения к серверу подключенного кэша. Это значение будет использоваться в качестве входных данных альтернативного имени субъекта (SAN) во время создания CSR.

  • Обеспечение доступности порта 443

    Чтобы установить HTTPS-подключение к подключенному кэшу, на хост-компьютере должен быть доступен порт 443. Выполните следующую команду, чтобы проверка:

    netstat -an | findstr :443
    

    Просмотрите выходные данные:

    • Нет выходных данных — порт 443 не используется. Продолжите настройку HTTPS.
    • Выходные данные содержат LISTENING (например, TCP 0.0.0.0:443 0.0.0.0:0 LISTENING) — Порт 443 открыт и прослушивает входящие подключения. Продолжите настройку HTTPS.
    • Выходные данные содержат ESTABLISHED (например, TCP 192.168.1.10:443 10.0.0.5:52674 ESTABLISHED) — Порт 443 активно используется другой службой. Определите и остановите конфликтующую службу, прежде чем подключенный кэш сможет использовать порт 443.

    Совет

    Чтобы определить службу с помощью порта 443, выполните команду netstat -ano | findstr :443 , чтобы найти идентификатор процесса (PID) в последнем столбце. Затем выполните tasklist /fi "pid eq <PID>" (заменив <PID> фактическим числом), чтобы увидеть имя процесса. Общие службы, использующие порт 443, включают IIS, другие веб-серверы и программное обеспечение VPN. Перед продолжением остановите или перенастройте конфликтующую службу.

  • Проверка конфигурации корпоративного прокси-сервера

    Если брандмауэр или корпоративный прокси-сервер перехватывает трафик HTTPS на сервер подключенного кэша (например, через проверку TLS), проверка сертификата всегда завершается ошибкой независимо от конфигурации сертификата.

Дополнительные сведения о любых предварительных требованиях см. на странице справочника по HTTPS в Windows.

Создание запроса на подпись сертификата (CSR)

Важно.

Каждому узлу кэша требуется собственный CSR или сертификат (не может предоставить общий доступ):

  • Используйте согласованное именование: mcc-node1.company.com, mcc-node2.company.com и т. д.
  • Документ, к которому относится сертификат, к какому узлу
  • Сертификаты с подстановочными знаками не будут работать. CSR/сертификат, используемый для https-подключения к подключенном кэшу, уникальным образом привязан к каждому узлу кэша в целях безопасности.
  1. Откройте PowerShell от имени администратора и перейдите к папке Connected Cache, содержащей скрипты PowerShell.

    Выполните следующую команду, чтобы перейти в эту папку скриптов подключенного кэша:

       cd (deliveryoptimization-cli mcc-get-scripts-path)
    
  2. Настройте параметры для generateCsr.ps1 и запустите скрипт с указанными значениями.

    Базовый синтаксис

       .\generateCsr.ps1 [Required Parameters] [Subject Parameters] [SAN Parameters]
    

    Обязательные параметры

    Параметр Описание
    -algo Алгоритм сертификата: RSA, EC, ED25519или ED448
    -keySizeOrCurve Для RSA: размер ключа (2048, 3072, 4096). Для EC: имя кривой (prime256v1, secp384r1). Для ED25519 и ED448: размер ключа не требуется.
    -csrName Имя, требуемое для CSR-файла
    -mccRunTimeAccount Учетная запись, которая запускает программное обеспечение подключенного кэша. Это должна быть переменная PowerShell, содержащая имя пользователя учетной записи, которую вы планируете назначить учетной записью среды выполнения подключенного кэша. Например, $User = "LocalMachineName\Username" для локальной учетной записи пользователя. Если вы используете групповую управляемую учетную запись службы (gMSA), она должна быть отформатирована как "Domain\Username$".
    -mccLocalAccountCredential Объект учетных данных PowerShell для учетной записи среды выполнения подключенного кэша. Это необходимо, только если вы используете учетную запись локального пользователя, учетную запись пользователя домена или учетную запись службы. Команду $myLocalAccountCredential = Get-Credential можно использовать для постановки в очередь графического пользовательского интерфейса получения учетных данных.

    Примечание.

    Параметр -mccRunTimeAccount доступен в приложении Windows Connected Cache версии 1.0.26.0 и более поздних версиях. Если вы используете более раннее приложение версии 1.0.24.0 , используйте -RunTimeAccountName для учетных записей локальных пользователей, пользователей домена и служб или -RunTimeAccount для групповых управляемых учетных записей служб (gMSA).

    Параметры темы

    Параметр Обязательный Описание Пример
    -subjectCommonName Да Общее имя сертификата "localhost", "example.com"
    -subjectCountry Нет Двухбуквенный код страны "US", "CA", "GB"
    -subjectState Нет Область, край "WA", "TX", "Ontario"
    -subjectOrg Нет Название организации "MyCompany", "ACME Corp"

    Warning

    Конфигурация SAN имеет решающее значение для проверки сертификата. Сертификат должен точно соответствовать способу подключения клиентов к подключенному кэшу. В противном случае клиенты обходят узел кэша.

    Например, если клиенты подключаются по IP-адресу 192.168.1.100 , но сертификат имеет только , проверка сертификата завершается -sanDns "server.local"ошибкой.

    Альтернативные имена субъектов (требуется по крайней мере одно)

    Параметр Описание Пример
    -sanDns DNS-имена (разделенные запятыми) "localhost,example.com,api.example.com"
    -sanIp IP-адреса (разделенные запятыми) "127.0.0.1,192.168.1.100"
    -sanUri URI (разделенные запятыми) "https://example.com,http://localhost"
    -sanEmail адреса Email (разделенные запятыми) "admin@example.com,user@domain.com"
    -sanRid Зарегистрированные идентификаторы (разделенные запятыми)
    -sanDirName Имена каталогов (разделенные запятыми)
    -sanOtherName Другие имена (разделенные запятыми)

    Дополнительные сведения и примеры на основе сценариев о параметрах скрипта CSR см. в справочнике по HTTPS в Windows.

  3. Убедитесь, что процесс создания CSR успешно завершен.

    При возникновении ошибок найдите файл метки GenerateCsr.log времени в папке, указанной в выходных данных скрипта. Найдите строку выходных данных, которая начинается с "Проверьте журналы на наличие подробных сведений об ошибке:" Каталог заканчивается на (...\Certificates\logs).

    • Формат файла: GenerateCsr_YYYYMMDD-HHMMSS.log
    • Примере: GenerateCsr_20251201_143022.log — это файл, созданный 1 декабря 2025 г. в 14:30:22
  4. Найдите созданный CSR-файл в папке Certificates на хост-компьютере и при необходимости перенесите его.

    Расположение папки Certificates указывается в выходных данных скрипта, начиная с "CSR-файл, созданный в:...". Каталог заканчивается на (...\Certificates\certs).

Подписывание CSR

  1. Выберите центр сертификации (ЦС), чтобы подписать CSR.

    Важно.

    Подпись ЦС должна соответствовать корневому сертификату в доверенном корневом хранилище клиента.

    • Корпоративная PKI. Большинство клиентов используют внутреннюю инфраструктуру PKI своей организации для подписания CSR. Обратитесь к ит-отделу или группе по безопасности о процессе отправки CSR во внутренний ЦС в вашей организации.

    • Общедоступный ЦС. Если у вас нет корпоративной PKI, можно использовать общедоступный ЦС. Следующие ресурсы помогут вам приступить к работе:

  2. Отправьте CSR в выбранный ЦС и сохраните подписанный сертификат.

    Подписанный сертификат должен иметь формат CRT с кодировкой X.509. Если ЦС предоставляет другие форматы, проверка ссылку HTTPS в Windows о том, как преобразовать в формат CRT.

    Примечание.

    Подключенный кэш в настоящее время не поддерживает защищенные паролем форматы (PFX, P12, P7B). Поддержка этих сертификатов будет добавлена в ближайшее время в рамках стратегии автоматизации сертификатов.

  3. Убедитесь, что подписанный сертификат имеет правильный формат.

    Подтвердите кодировку PEM:

    Get-Content "xxxx.crt" | Select-String "BEGIN CERTIFICATE"
    

    Ожидаемые успешные выходные данные:

    -----BEGIN CERTIFICATE-----
    
  4. Переместите подписанный сертификат в папку Сертификаты на хост-компьютере Windows.

    Это будет та же папка, в которой вы изначально нашли CSR после ее создания: (...\Certificates\certs).

    Предостережение

    Не предоставляйте общий доступ к закрытым ключам. Для подключенного кэша требуется только подписанный сертификат.

Импорт подписанного TLS-сертификата

  1. Откройте PowerShell от имени администратора и перейдите к папке Connected Cache, содержащей скрипты PowerShell.

  2. Настройте параметры для importCert.ps1 и запустите скрипт с указанными значениями.

    Базовый синтаксис

      .\importCert.ps1 [Required Parameters]
    

    Обязательные параметры

    Параметр Описание
    -certName Полное имя файла подписанного TLS-сертификата (с расширением CRT или без нее)
    -mccRunTimeAccount Учетная запись, которая запускает программное обеспечение подключенного кэша. Это должна быть переменная PowerShell, содержащая имя пользователя учетной записи, которую вы планируете назначить учетной записью среды выполнения подключенного кэша. Например, $User = "LocalMachineName\Username" для локальной учетной записи пользователя. Если вы используете групповую управляемую учетную запись службы (gMSA), она должна быть отформатирована как "Domain\Username$".
    -mccLocalAccountCredential Объект учетных данных PowerShell для учетной записи среды выполнения подключенного кэша. Это необходимо, только если вы используете учетную запись локального пользователя, учетную запись пользователя домена или учетную запись службы. Например, $myLocalAccountCredential = Get-Credential.

    Примечание.

    Параметр -mccRunTimeAccount доступен в приложении Windows Connected Cache версии 1.0.26.0 и более поздних версиях. Если вы используете более раннее приложение версии 1.0.24.0 , используйте -RunTimeAccountName для учетных записей локальных пользователей, пользователей домена и служб или -RunTimeAccount для групповых управляемых учетных записей служб (gMSA).

    Примечание.

    Приложение Windows для подключенного кэша версии 1.0.24.0 не поддерживает выполнение importCert.ps1 в Windows Server 2022 или Windows Server 2025 с учетной записью среды выполнения gMSA. Используйте приложение версии 1.0.26.0 или более поздней версии, чтобы запустить этот скрипт в этих средах.

    Примере

      .\importCert.ps1 `
        -mccRunTimeAccount $myLocalAccountCredential.Username `
        -mccLocalAccountCredential $myLocalAccountCredential `
        -certName "myTlsCert.crt"
    
  3. Убедитесь, что процесс импорта успешно завершен.

    При возникновении ошибок найдите файл метки ImportCert.log времени в папке, указанной в выходных данных скрипта. Найдите строку выходных данных, которая начинается с "Вы можете найти журналы здесь: ..."

    • Формат файла: ImportCert_YYYYMMDD-HHMMSS.log
    • Примере: ImportCert_20251201_143022.log — это файл, созданный 1 декабря 2025 г. в 14:30:22
  4. Убедитесь, что правильный сертификат был импортирован путем выполнения скрипта ShowCertDetails.ps1 .

    Примечание.

    Скрипт ShowCertDetails.ps1 доступен, начиная с приложения развертывания Windows версии 1.0.26.

    .\ShowCertDetails.ps1
    

    Этот скрипт отображает отпечаток сертификата и дату окончания срока действия сертификата TLS, импортированного в данный момент в узел кэша.

  5. Убедитесь, что подключенный кэш доступен для внешних клиентов через порт 443.

    Примечание.

    Еще раз убедитесь, что порт 443 доступен, прежде чем настраивать перенаправление портов: netstat -an | findstr :443

    Перенаправление трафика через порт 443

    Используйте следующую команду для моста трафика с главного компьютера Windows в контейнер подключенного кэша:

     $ipFilePath = Join-Path ([System.Environment]::GetEnvironmentVariable("MCC_INSTALLATION_FOLDER", "Machine")) "wslIp.txt"
     $ipAddress = (Get-Content $ipFilePath | Select-Object -First 1).Trim()
     netsh interface portproxy add v4tov4 listenport=443 listenaddress=0.0.0.0 connectport=443 connectaddress=$ipAddress
    

    Это настраивает прокси-сервер порта, чтобы входящий трафик через порт 443 перенаправлялся на внутренний IP-адрес контейнера.

    Откройте порт 443 в брандмауэре

    Даже при переадресации портов брандмауэр Windows может блокировать входящий или исходящий трафик через порт 443. Используйте следующие команды, чтобы убедиться, что трафик HTTPS может свободно поступать в подключенный кэш и из нее.

     [void](New-NetFirewallRule -DisplayName "WSL2 Port Bridge (HTTPS)" -Direction Inbound -Action Allow -Protocol TCP -LocalPort "443")
     [void](New-NetFirewallRule -DisplayName "WSL2 Port Bridge (HTTPS)" -Direction Outbound -Action Allow -Protocol TCP -LocalPort "443")
    

Инструкции по дальнейшей проверке импорта сертификата см. на странице проверки HTTPS в Windows.

Отключение поддержки HTTPS

Если необходимо отменить изменения подключенного кэша к обмену данными только по ПРОТОКОЛу HTTP, выполните следующие действия. Этот процесс не удаляет ничего из папки Certificates, включая CSR-файлы, сертификаты и журналы.

  1. Откройте PowerShell от имени администратора и перейдите в папку Скрипты PowerShell.

  2. Настройте параметры для disableTls.ps1 и запустите скрипт с указанными значениями.

    Базовый синтаксис

      .\disableTls.ps1 [Required Parameters]
    

    Обязательные параметры

    Параметр Описание
    -mccRunTimeAccount Учетная запись, которая запускает программное обеспечение подключенного кэша. Это должна быть переменная PowerShell, содержащая имя пользователя учетной записи, которую вы планируете назначить учетной записью среды выполнения подключенного кэша. Например, $User = "LocalMachineName\Username" для локальной учетной записи пользователя. Если вы используете групповую управляемую учетную запись службы (gMSA), она должна быть отформатирована как "Domain\Username$".
    -mccLocalAccountCredential Объект учетных данных PowerShell для учетной записи среды выполнения подключенного кэша. Это необходимо, только если вы используете учетную запись локального пользователя, учетную запись пользователя домена или учетную запись службы. Например, $myLocalAccountCredential = Get-Credential.

    Примечание.

    Параметр -mccRunTimeAccount доступен в приложении Windows Connected Cache версии 1.0.26.0 и более поздних версиях. Если вы используете более раннее приложение версии 1.0.24.0 , используйте -RunTimeAccountName для учетных записей локальных пользователей, пользователей домена и служб или -RunTimeAccount для групповых управляемых учетных записей служб (gMSA).

    Примере

      .\disableTls.ps1 `
        -mccRunTimeAccount $myLocalAccountCredential.Username `
        -mccLocalAccountCredential $myLocalAccountCredential `
    
  3. Убедитесь, что процесс отключения успешно завершен.

  4. После отключения HTTPS HTTP-запросы должны работать, а HTTPS-запросы — сбоем. Инструкции по тестированию см. на странице проверки HTTPS в Windows .

Дальнейшие действия