Visual Studio 中的 FTPS 发布失败,导致 "Secure connection was closed by the remote connection end."
FTPS publish in Visual Studio fails, results in "Secure connection was closed by the remote connection end."
我有一个 ASP.NET 网站托管在客户的网络服务器上,我过去可以使用 Web One Click Publish 直接从 Visual Studio 发布。连接是通过 FTPS 建立的,因此将连接到端口 21 上服务器的 IP 地址;即 ftps://101.102.103.104:21.
但是,最近更新服务器上的 SSL 证书后,我无法再从 VS 发布到服务器 - 我在测试连接或尝试发布文件时收到以下错误:
我的解决方法是发布到本地文件夹,然后连接到 FileZilla 以推送文件。我使用的凭证在 FileZilla 中是相同的,并且在建立连接或上传文件方面没有任何问题。因此,Visual Studio 使用此新证书通过 FTPS 发布似乎存在问题。
我注意到通过 FileZilla 进行部署的一个最初区别是,在初始连接时,我会收到有关证书与站点名称不匹配的警告 - 但只有在通过 IP 地址连接时才会出现这种情况。如果我使用服务器名称(与服务器上的通配符证书具有相同的域),它不会显示该证书弹出窗口。不幸的是,在 VS 发布设置中使用服务器名称仍然给出相同的错误。
虽然我正在寻找解决方法,但我尝试连接到端口 990 以查看是否可以使用隐式 SSL(一些文章将此作为一个选项提到),但这没有用 - 我是不确定该端口是否在防火墙处被阻止,或者是否没有服务侦听,但我无法远程登录到端口 990 上的服务器。
我不认为这是 Visual Studio 的限制,因为它以前是有效的。可能我们的 IT 人员在应用证书的同时更改了一些服务器配置?有没有其他人遇到过这个问题,你能解决这个问题吗?
因此,在进一步挖掘之后,我发现了 2018 年 1 月的 Visual Studio 问题单,表明 FTP 发布不支持 TLS 1.2:
从 FileZilla 检查 FTP 到网络服务器的连接,这似乎需要 TLS1.2 连接。因此,我假设在应用新证书时,IT 在服务器上禁用了 TLS1.0 协议,这导致 FTP 连接失败。
希望如果其他人遇到此问题,他们将受益于 TLS1.2 目前在 Visual Studio FTP 发布中不受支持的知识(截至版本 15.7.4)。
更新:
可以确认 Visual Studio 2019 (v16.1.1) 支持使用 TLS1.2FTPS 发布
我有一个 ASP.NET 网站托管在客户的网络服务器上,我过去可以使用 Web One Click Publish 直接从 Visual Studio 发布。连接是通过 FTPS 建立的,因此将连接到端口 21 上服务器的 IP 地址;即 ftps://101.102.103.104:21.
但是,最近更新服务器上的 SSL 证书后,我无法再从 VS 发布到服务器 - 我在测试连接或尝试发布文件时收到以下错误:
我的解决方法是发布到本地文件夹,然后连接到 FileZilla 以推送文件。我使用的凭证在 FileZilla 中是相同的,并且在建立连接或上传文件方面没有任何问题。因此,Visual Studio 使用此新证书通过 FTPS 发布似乎存在问题。
我注意到通过 FileZilla 进行部署的一个最初区别是,在初始连接时,我会收到有关证书与站点名称不匹配的警告 - 但只有在通过 IP 地址连接时才会出现这种情况。如果我使用服务器名称(与服务器上的通配符证书具有相同的域),它不会显示该证书弹出窗口。不幸的是,在 VS 发布设置中使用服务器名称仍然给出相同的错误。
虽然我正在寻找解决方法,但我尝试连接到端口 990 以查看是否可以使用隐式 SSL(一些文章将此作为一个选项提到),但这没有用 - 我是不确定该端口是否在防火墙处被阻止,或者是否没有服务侦听,但我无法远程登录到端口 990 上的服务器。
我不认为这是 Visual Studio 的限制,因为它以前是有效的。可能我们的 IT 人员在应用证书的同时更改了一些服务器配置?有没有其他人遇到过这个问题,你能解决这个问题吗?
因此,在进一步挖掘之后,我发现了 2018 年 1 月的 Visual Studio 问题单,表明 FTP 发布不支持 TLS 1.2:
从 FileZilla 检查 FTP 到网络服务器的连接,这似乎需要 TLS1.2 连接。因此,我假设在应用新证书时,IT 在服务器上禁用了 TLS1.0 协议,这导致 FTP 连接失败。
希望如果其他人遇到此问题,他们将受益于 TLS1.2 目前在 Visual Studio FTP 发布中不受支持的知识(截至版本 15.7.4)。
更新:
可以确认 Visual Studio 2019 (v16.1.1) 支持使用 TLS1.2FTPS 发布