0

我正在使用SWFUpload将文件上传到运行 Tomcat 的 Web 服务器。上传完成后,用户开始收到来自服务器的错误。日志表明文件在服务器上没有内容,并且在调试模式下运行的 SWFUpload 似乎不认为发送文件有问题。

仅当满足以下所有条件时,此问题才会出现:

  • 客户端使用 SSL
  • 客户端在 Windows 7 上
  • 客户端使用 Flash 上传器。HTML 上传工作得很好。
  • 客户端使用 IE
4

1 回答 1

2

起初,我怀疑这与 IE 的问题有关,并设置了PragmaCache-Control标头以防止客户端缓存我的 SWF 文件,这在此处有详细记录。不过我很困惑,因为我只在上传时才观察到这个问题。下载不受影响。

最后,该问题似乎起源于2012 年 1 月发布的 Internet Explorer 安全更新,旨在解决可能允许某人解密 SSL 3.0/TLS 1.0 加密流量的漏洞。

Microsoft 的解决方法是确保服务器支持 TLS 1.1,并在 IE 中启用对 TLS 1.1 的支持。禁用 TLS 1.0 会导致 IE 回退到 SSL 3.0,并且似乎也可以解决问题,但并不理想。

自 JRE 1.7 起,Java 仅支持 TLS 1.1。Tomcat 将 JSSE 库用于 SSL。除非您使用可能已经支持 TLS 1.1 的本机 Tomcat 库,否则请确保升级到 JRE 1.7 和 Tomcat 7 以获得 TLS 1.1。

最后一点,对于那些使用 Apache 和 OpenSSL 的人来说:OpenSSL 0.9.x 似乎只支持 TLS 1.0。我听说你可以用 GnuTLS构建 Apache ,这应该会给你 TLS 1.1+。

附加参考:http ://www.thehijax.com/?p=72

于 2012-08-08T00:13:39.403 回答