关于在最新的 Visual Studio 2017 版本中使用 Web Deploy 遇到的 SSL 链接错误

错误信息:web

没法完成向远程代理 URL 发送请求。请求被停止: 未能建立 SSL/TLS 安全通道。安全

缘由分析:服务器

最新版本的 Visual Studio 中,已经抛弃了 https 协议中旧版 SSL 链接的支持,而服务器是 Windows Server 2008 R2 或更老版本,对新版 TLS 协议支持不够充分。须要安装系统补丁及修改注册表来设置 TLS 的默认使用。此问题的解决可能也适用于其它基于 https 更高版本协议通信的产品服务。ide

解决方案:visual-studio

https://stackoverflow.com/questions/53595952/webdeploy-fails-with-ssl-tls-error-after-visual-studio-2017-15-9-upgradespa

安装补丁:代理

https://support.microsoft.com/en-us/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-default-secure-protocols-in-wicode

修改或添加如下注册表设置:blog

[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 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client] "DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server] "DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client] "DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server] "DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001