【发布时间】:2018-08-27 09:59:04
【问题描述】:
我们公司已从 TLS 1.0 升级到 TLS 1.2。在此之前,我们使用org.apache.commons.net.ftp.FTPClient下载文件。
现在我们无法使用FTPSclent 连接到服务器,并且出现异常:
org.apache.commons.net.ftp.FTPConnectionClosedException: 连接已关闭且无提示
如何正确连接到服务器。
完整的堆栈跟踪:
【问题讨论】:
-
您能否将堆栈跟踪粘贴为文本而不是图像?它更容易阅读,也更容易搜索有类似问题的人。
-
对我来说,它似乎更多是在网络方面,而不是在编码方面。似乎只有您升级的客户端和使用不兼容版本的服务器
-
如果您迁移到 Java 8,默认情况下您将获得 TLS 1.2。如果您需要坚持使用 JRE 7,有两个选项,第一个是如果您有 Oracle 对 JVM 的支持,他们有一个包含它的特殊非公共构建。如果没有,您必须在代码中执行此操作。查看这篇文章以创建 SSL 上下文并强制使用 TLS 1.2 stackoverflow.com/questions/39157422/…
-
仅供参考,大多数开关用于 HTTPS,不适用于 FTPS。有一些新的,但我认为它们是在 Java 8 或 Java 9 之前添加的。我从来没有让它们中的任何一个工作。