我为我的 DSC Web 拉取服务器创建了一个域证书(由我的内部 CA 颁发)并检索了指纹。
我从 inetmgr 导出了证书并将其安装在拉取服务器上(本地计算机和用户)。
然后我将指纹放在脚本中的 CertificationThumbprint 参数中。
但是,当我重新运行配置脚本来生成新的 MOF 并重新启动 DSC 配置时,我仍然只能通过 http 访问该站点而不能通过 https 访问。
当我尝试使用 https 导航到拉取服务器站点时,我收到 TLS 警告。(我使用的是 Windows Server 2016,PS 版本 5.1)
干杯
编辑:
下面是生成包含指纹的 MOF 的脚本。
configuration CreatePullServer
{
param
(
[string[]]$ComputerName = 'localhost'
)
Import-DSCResource -ModuleName xPSDesiredStateConfiguration
Import-DscResource -ModuleName PSDesiredStateConfiguration
Node $ComputerName
{
WindowsFeature DSCServiceFeature
{
Ensure = "Present"
Name = "DSC-Service"
}
xDSCWebService PSDSCPullServer
{
Ensure = "Present"
EndpointName = "PSDSCPullServer"
AcceptSelfSignedCertificates = $true
Port = 8080
PhysicalPath = "$env:SystemDrive\inetpub\wwwroot\PSDSCPullServer"
CertificateThumbPrint = '881B26142BABAFEF7490FB1CD48EA1D572628087'
ModulePath = "$env:PROGRAMFILES\WindowsPowerShell\DscService\Modules"
ConfigurationPath = "$env:PROGRAMFILES\WindowsPowerShell\DscService\Configuration"
State = "Started"
UseSecurityBestPractices = $True
DependsOn = "[WindowsFeature]DSCServiceFeature"
}
xDscWebService PSDSCComplianceServer
{
Ensure = "Present"
EndpointName = "PSDSCComplianceServer"
Port = 9080
PhysicalPath = "$env:SystemDrive\inetpub\wwwroot\PSDSCComplianceServer"
CertificateThumbPrint = 'AllowUnencryptedTraffic'
State = "Started"
UseSecurityBestPractices = $True
DependsOn = ("[WindowsFeature]DSCServiceFeature","[xDSCWebService]PSDSCPullServer")
}
}
}
CreatePullServer -ComputerName pullsrv01 -verbose
下面是我尝试导航到 https 站点时显示的 TLS 消息的图片
编辑2:
我已设法通过向端口 443 的新站点绑定添加证书来使其正常工作,但不幸的是,它仍然无法从 8080 重定向到 443 上的 https 站点。
答案1
我通过添加与证书的站点绑定解决了这个问题PSDSC 拉取服务器使用 IIS 的站点。
感谢 Peter Hahndorf 验证问题出在 IIS 或证书上!