wssを使用して接続するためにプロキシサーバー構成でAsyncHttpClientを使用しようとしていますが、うまくいきません。私は async-http-client 1.7.5 と grizzly-websockets 2.2.13 を使ってきました 私の最初の試み
AsyncHttpClientConfig config = new AsyncHttpClientConfig.Builder()
.setSSLContext(sc)
.setProxyServer(
new ProxyServer(Protocol.HTTP, "192.168.1.130", 3128))
.build();
NettyWebSocket w = (NettyWebSocket)c.prepareGet("wss://192.168.1.124/atmosphere-chat/chat")
.execute(handler).get();
デフォルトの netty 構成を使用しても機能しません。この試みは、少なくともプロキシを経由してリモート サーバーに接続しているように見えます。私がそこに得る例外は
java.lang.IllegalArgumentException: unsupported message type: class org.jboss.netty.handler.codec.http.websocketx.TextWebSocketFrame
グリズリーの使用に切り替えると
AsyncHttpClient c = new AsyncHttpClient(new GrizzlyAsyncHttpProvider(config), config);
物事は良く/悪くなります。この例では、grizzly が http プロキシ経由で接続動詞を送信できず、すぐに SSL 経由で通信を開始するように見えますが、これは失敗します。SSL を使用すると WebSocket 接続がプロキシ経由で機能する可能性が高くなるため、これは適切にサポートされる状況になると思います。]
Exception in thread "main" java.util.concurrent.ExecutionException: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
私は何をすべきかの範囲外にいますか?