1

我有一个程序使用 HTTPS 连接到 GlassFish 中的 JSF 应用程序,但 GlassFish 仅配置为纯 HTTP。该程序首先尝试 HTTPS,如果 HTTPS 不起作用,则回退到 HTTP。

使用ssldump我可以看到 GlassFish 2.1 在收到 HTTPS 请求时立即发送 TCP FIN,但 GlassFish 3.1.2.2 只是处于空闲状态。

GlassFish 2.1 的作用如下:

新 TCP 连接 #1:localhost(53643) <-> localhost(8081)
1 1 0.0008 (0.0008) C>S Handshake
ClientHello
3.1 版
密码套件
...
1 0.0106 (0.0098) S>C TCP FIN

GlassFish 3.1.2.2 的作用如下:

新的 TCP 连接 #1:localhost(53388) <-> localhost(8081)
1 1 0.0005 (0.0005) C>S Handshake
ClientHello
版本 3.1
密码套件
...
1 59.9989 (59.9983) C>S TCP FIN

如何让 GlassFish 3.1.2.2 立即关闭连接(尝试)?

我为 HTTP 侦听器使用了开箱即用的标准配置。图片中没有防火墙。我使用相同的客户端程序在同一台机器上运行这两个测试,只是每次使用不同的 GlassFish。

4

1 回答 1

1

这是客户端的 OpenSSL 库过时的问题。更新 OpenSSL 后一切正常。

于 2013-10-08T20:23:53.343 回答