我正在使用JUnit测试JERSEY Client + HTTPS来测试secure web service运行Jetty.我的一个呼叫是wr.get( ClientResponse.class)在每个块之后挂起10秒钟9-10 requests.等效Apache client代码在几毫秒内运行.如果我切换Jetty to HTTP模式,问题就会消失.
我在用 Jersey bundle & client 1.14 and Jetty 6.1.26
apache客户端工作
@Test
public void testApacheClient() throws Exception
{
HttpClient client = new HttpClient();
ProtocolSocketFactory socketFactory = new EasySSLProtocolSocketFactory();
Protocol https = new Protocol( "https", socketFactory, 443 );
Protocol.registerProtocol( "https", https );
//Finishes in < 1 second
for ( int i = 0; i < …Run Code Online (Sandbox Code Playgroud) 我有一个 Web 应用程序在 Debian 6.0.7 上的 Jetty 6 + Open JDK 7 上运行。当客户端启动 HTTPS 连接时,我有一个安全要求接受 TLS 握手但不接受 SSLv3.0 握手。
在我的 jetty.xml 中,我将协议设置为 TLS:
<New class="org.mortbay.jetty.security.SslSocketConnector">
<Set name="protocol">TLS</Set>
...
Run Code Online (Sandbox Code Playgroud)
使用此配置,Web 服务器似乎仍然接受 SSLv3.0 握手。这已经通过“sslscan”工具和运行“curl -sslv3 -kv {host}”进行了验证。
是否可以将 Jetty 配置为仅接受 TLS 握手?如果需要,我愿意升级我的 Jetty 版本。