Используя nmap
для опроса как nodejs.org, так и fastdl.mongodb.org (который на самом деле находится на облачном фронте), действительно, поддержка TLS разная.Узел по-прежнему поддерживает TLS версии 1.0, которая, как оказалось, работает с PowerShell.Но сайт MongoDB поддерживает только TLS версии 1.1 или 1.2.
Как я уже упоминал в своем вопросе, я подозревал, что настройка протокола безопасности .Net работает, и действительно так и есть.Нет никакого способа добавить произвольный сценарий к ресурсу DSC package , поэтому мне нужно было создать блок сценария только для запуска этого кода, чтобы ресурс пакета зависел от него.
Эточто я получил на работу:
Node $AllNodes.Where{$_.Role -contains 'MongoDBServer'}.NodeName {
Script SetTLS {
GetScript = { @{ Result = $true } }
SetScript = { [Net.ServicePointManager]::SecurityProtocol = "tls12, tls11, tls" }
TestScript = { $false } #Always run
}
package MongoDB {
Ensure = 'Present'
Name = 'MongoDB 3.6.11 2008R2Plus SSL (64 bit)'
Path = 'https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-ssl-3.6.11-signed.msi'
ProductId = ''
Arguments = 'ADDLOCAL="all" SHOULD_INSTALL_COMPASS="0" INSTALLLOCATION="C:\MongoDB\Server\3.6"'
DependsOn = '[Script]SetTLS'
}
...