问题描述
我在将文件上传到 ftp 服务器时遇到问题。我从服务器收到错误 426。经过进一步研究,我发现了错误 426 的解释
(错误 426: 连接关闭;传输中止。 ... 该命令打开数据连接以执行操作,但该操作被取消,数据连接关闭。尝试重新登录;联系您的托管服务提供商以检查您是否需要增加您的托管帐户;尝试禁用 PC 上的防火墙,看看是否能解决问题。如果没有,请联系您的托管服务提供商或 ISP。 )
我还了解到错误 426 通常与旧客户端和新服务器之间的兼容性问题有关。 “需要升级”是我发现与该问题相关的另一个术语。我在帖子底部包含了来自 vsftpd 的日志文件。日志显示从 FileZilla 成功传输和从 Visual Studio 程序传输失败。我注意到 FileZilla 使用 tls 1.3,visual studios webrequest 使用 tls 1.2。
我有几个问题
将 VSFTPD 服务器设置为与 Visual Studio 交互或以与服务器一起工作的方式配置 Visual Studio 是否更实用?后者是我对问题的首选解决方案。
是否可以升级 FtpWebRequest 以处理 tls v 1.3?这将如何实现?
````
Private Sub BackgroundWorker_DoWork(sender As Object,e As System.ComponentModel.DoWorkEventArgs)
Try
ServicePointManager.ServerCertificateValidationCallback = New RemoteCertificateValidationCallback(AddressOf ServerCertificateValidationCallback)
Dim request As FtpWebRequest = DirectCast(WebRequest.Create("ftp://xxx.xxx.xxx.xxx/uploads/test.text"),FtpWebRequest)
request.Credentials = New NetworkCredential("alphaftp","xxxxxxxxx")
request.EnableSsl = True
request.UsePassive = True
request.Method = WebRequestMethods.Ftp.UploadFile
request.GetResponse()
Dim FileBytesBuffer() As Byte = File.ReadAllBytes("C:\Test.txt")
Dim ByteStream As Stream = request.GetRequestStream()
For i As Integer = 0 To FileBytesBuffer.Length Step 1024
worker.ReportProgress(i)
Dim chunksize As Integer = FileBytesBuffer.Length - i
If chunksize > 1024 Then chunksize = 1024
ByteStream.Write(FileBytesBuffer,i,chunksize)
Next
ByteStream.Close()
ByteStream.dispose()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
````
使用 ssl 调试从 FileZilla 成功上传
2021 年 3 月 15 日星期一 12:55:48 [pid 135809] 连接:客户端“::ffff:xxx.xxx.xxx.xxx”
Mon Mar 15 12:55:49 2021 [pid 135809] DEBUG: Client "::ffff:xxx.xxx.xxx.xxx","SSL version: TLSv1.3,SSL cipher: TLS_AES_256_GCM_SHA384,not used,no证书"
Mon Mar 15 12:55:49 2021 [pid 135808] [alphaftp] OK LOGIN: Client "::ffff:xxx.xxx.xxx.xxx"
Mon Mar 15 12:55:51 2021 [pid 135809] [alphaftp] DEBUG:客户端“::ffff:xxx.xxx.xxx.xxx”,“SSL 版本:TLSv1.3,SSL 密码:TLS_AES_256_GCM_SHA384,重用,没有证书"
Mon Mar 15 12:55:51 2021 [pid 135809] [alphaftp] DEBUG:客户端“::ffff:xxx.xxx.xxx.xxx”,“SSL 关闭状态为:SSL_RECEIVED_SHUTDOWN”
Mon Mar 15 12:55:51 2021 [pid 135809] [alphaftp] 调试:客户端“::ffff:xxx.xxx.xxx.xxx”,“SSL 关闭状态为:3”
Mon Mar 15 12:55:51 2021 [pid 135812] [alphaftp] OK 上传:客户端“::ffff:xxx.xxx.xxx.xxx”,“/uploads/Linux Cheat Sheet.txt”,983 字节,1.34Kbyte/秒
Mon Mar 15 12:55:52 2021 [pid 135809] [alphaftp] DEBUG:客户端“::ffff:xxx.xxx.xxx.xxx”,“SSL 版本:TLSv1.3,SSL 密码:TLS_AES_256_GCM_SHA384,重用,没有证书"
Mon Mar 15 12:55:52 2021 [pid 135809] [alphaftp] DEBUG:客户端“::ffff:xxx.xxx.xxx.xxx”,“SSL 关闭状态为:NONE”
Mon Mar 15 12:55:52 2021 [pid 135809] [alphaftp] DEBUG:客户端“::ffff:xxx.xxx.xxx.xxx”,“SSL 关闭状态为:SSL_SENT_SHUTDOWN”
Mon Mar 15 12:55:52 2021 [pid 135809] [alphaftp] 调试:客户端“::ffff:xxx.xxx.xxx.xxx”,“SSL 关闭状态为:3”
"/var/log/vsftpd.log" 174L,19660C
尝试上传 Visual Studio .net 4.8 失败
2021 年 3 月 15 日星期一 15:39:31 [pid 137652] 连接:客户端“::ffff:xxx.xxx.xxx.xxx”
Mon Mar 15 15:39:31 2021 [pid 137652] 调试:客户端“::ffff:xxx.xxx.xxx.xxx”,“SSL 版本:TLSv1.2,SSL 密码:ECDHE-RSA-AES256- GCM-SHA384,未重用,无证书"
Mon Mar 15 15:39:32 2021 [pid 137651] [alphaftp] OK LOGIN: Client "::ffff:xxx.xxx.xxx.xxx"
Mon Mar 15 15:39:33 2021 [pid 137652] [alphaftp] 调试:客户端“::ffff:xxx.xxx.xxx.xxx”,“SSL 版本:TLSv1.2,SSL 密码:ECDHE-RSA -AES256-GCM-SHA384,重用,无证书"
Mon Mar 15 15:39:33 2021 [pid 137652] [alphaftp] DEBUG: Client "::ffff:xxx.xxx.xxx.xxx","DATA 连接在没有关闭 SSL 的情况下终止。错误的客户端!上传的完整性不能断言。”
Mon Mar 15 15:39:33 2021 [pid 137652] [alphaftp] DEBUG: Client "::ffff:xxx.xxx.xxx.xxx","SSL shutdown state is: NONE"
Mon Mar 15 15:39:33 2021 [pid 137652] [alphaftp] DEBUG:客户端“::ffff:xxx.xxx.xxx.xxx”,“SSL 关闭状态为:SSL_SENT_SHUTDOWN”
Mon Mar 15 15:39:33 2021 [pid 137652] [alphaftp] DEBUG:客户端“::ffff:xxx.xxx.xxx.xxx”,“SSL 关闭状态为:SSL_SENT_SHUTDOWN”
Mon Mar 15 15:39:33 2021 [pid 137652] [alphaftp] DEBUG:客户端“::ffff:xxx.xxx.xxx.xxx”,“SSL 关闭状态为:SSL_SENT_SHUTDOWN”
Mon Mar 15 15:39:33 2021 [pid 137652] [alphaftp] DEBUG: Client "::ffff:xxx.xxx.xxx.xxx","SSL ret: 18446744073709551615,SSL error: error:00000000:lib (0):func(0):reason(0),errno: 0"Mon Mar 15 15:39:33 2021 [pid 137653] [alphaftp] 失败上传:客户端 "::ffff:174.204.199.160","/上传/test.text",0.00Kbyte/sec
Mon Mar 15 15:39:33 2021 [pid 137652] [alphaftp] DEBUG:客户端“::ffff:xxx.xxx.xxx.xxx”,“控制连接在没有关闭 SSL 的情况下终止。”
"/var/log/vsftpd.log" [只读] 242L,28422C
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)