4

誰かが以前にこれに遭遇したことがあり、正しい方向に向けることができることを願っています。application.conf のプロキシ設定 (http.proxyHost、http.proxyPort、および http.nonProxyHosts) を使用していますが、要求された URL が http である限り、問題なく機能するようです。ホストを nonProxyHosts リストに追加し、https を使用してそのホストにリクエストを行うと、機能しません (コード例とスタック トレースを以下に示します)。nonProxyHosts リストを削除すると、プロキシを経由することを除いて、リクエストは正常に機能します。ホストが nonProxyHosts リストにあるかどうかに関係なく、http を使用したリクエストは正常に機能します。

どんな助けでも大歓迎です。

サンプルコード

public static void google()
{
    try
    {
        renderHtml(WS.url("https://www.google.com").get().getString());
    }
    catch (Exception e)
    {
        e.printStackTrace();
    }
}

http.nonProxyHosts=www.google.com でリクエストが https の場合に発生するスタック トレース: java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.io.IOException: Remotely Closed [id: 0x01f42269, /10.0.1.100 :56663 :> www.google.com/74.125.129.104:443] play.libs.ws.WSAsync$WSAsyncRequest.get(WSAsync.java:223) で controllers.api.ContentAPI.google(ContentAPI.java:86) sun.reflect.NativeMethodAccessorImpl.invoke0 (ネイティブ メソッド) で.invoke(Method.java:597) で play.mvc.ActionInvoker.invokeWithContinuation(ActionInvoker.java:557) で play.mvc.ActionInvoker.invoke(ActionInvoker.java:508) で play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:484) で play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:479) で play.mvc.ActionInvoker.invoke(ActionInvoker.java:161) で play.server.PlayHandler$NettyInvocation.execute (PlayHandler.java:251) で play.Invoker$Invocation.run(Invoker.java:278) で play.server.PlayHandler$NettyInvocation.run(PlayHandler.java:229) で java.util.concurrent.Executors$RunnableAdapter で。 call(Executors.java:439) で java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) で java.util.concurrent.FutureTask.run(FutureTask.java:138) で java.util.concurrent で.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98) java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206) java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) で java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) で java.lang.Thread.run(Thread) .java:680) 原因: java.util.concurrent.ExecutionException: java.io.IOException: Remotely Closed [id: 0x01f42269, /10.0.1.100:56663 :> www.google.com/74.125.129.104:443] com.ning.http.client.providers.netty.NettyResponseFuture.abort(NettyResponseFuture.java:297) com.ning.http.client.providers.netty.NettyAsyncHttpProvider.abort(NettyAsyncHttpProvider.java:1321) com.ning. org.jboss.netty.channel の http.client.providers.netty.NettyAsyncHttpProvider.channelClosed(NettyAsyncHttpProvider.java:1384)。org.jboss.netty.handler.stream.ChunkedWriteHandler.handleUpstream(ChunkedWriteHandler.java: 145) org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564) で org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:792) で org.jboss.netty.handler .codec.replay.ReplayingDecoder.cleanup(ReplayingDecoder.java:636) org.jboss.netty.handler.codec.replay.ReplayingDecoder.channelClosed(ReplayingDecoder.java:533) org.jboss.netty.handler.codec.http org.jboss.netty の .HttpClientCodec$Decoder.channelClosed(HttpClientCodec.java:218)。channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:93) org.jboss.netty.handler.codec.http.HttpClientCodec.handleUpstream(HttpClientCodec.java:92) org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline. java:564) org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559) org.jboss.netty.channel.Channels.fireChannelClosed(Channels.java:476) org.jboss.netty.channel .socket.nio.AbstractNioWorker.close(AbstractNioWorker.java:631) at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:101) at org.jboss.netty.channel.socket.nio .AbstractNioWorker.processSelectedKeys(AbstractNioWorker.java:372) org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:246) org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:38) org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:102) で org.jboss.netty.util.internal.DeadLockProofWorker$1.run で(DeadLockProofWorker.java:42) ... 3 つ以上の原因: java.io.IOException: リモートで閉じられました [id: 0x01f42269, /10.0.1.100:56663 :> www.google.com/74.125.129.104:443] .. . 25 以上

4

0 に答える 0