0

我正在尝试按照以下示例路由远程演员:

http://doc.akka.io/docs/akka/snapshot/scala/routing.html#Remotely_Deploying_Routees

这是代码:

val system = ActorSystem("RemoteSystem", ConfigFactory.load.getConfig("remotecreation"))

val addresses = Seq(AddressFromURIString("akka://ActorApplication@172.17.100.224:2552"),
            AddressFromURIString("akka://ActorApplication@172.17.100.232:2552"))


val worker = system.actorOf(Props[authNetActor.AuthNetActorMain].withRouter(RemoteRouterConfig(RoundRobinRouter(5), addresses)))

但是,我收到一条错误消息,指出其中一个服务器 IP 地址未经过身份验证。

这是错误(来自:172.17.100.224:2552):

[ERROR] [09/20/2012 18:13:02.192] [ActorApplication-akka.actor.default-dispatcher-11 [akka://ActorApplication/remote/RemoteSystem@172.17.100.231:2554/user/$a/c1] peer not authenticated
javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
    at sun.security.ssl.SSLSessionImpl.getPeerCertificates(SSLSessionImpl.java:371)
    at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:128)
    at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:390)
    at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:148)
    at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:149)
    at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:121)
    at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:562)
    at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:415)
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820)
    at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:776)
    at dispatch.BlockingHttp$class.dispatch$BlockingHttp$$execute(Http.scala:45)
    at dispatch.BlockingHttp$$anonfun$execute$1$$anonfun$apply$3.apply(Http.scala:58)
    at dispatch.BlockingHttp$$anonfun$execute$1$$anonfun$apply$3.apply(Http.scala:58)
    at scala.Option.getOrElse(Option.scala:108)
    at dispatch.BlockingHttp$$anonfun$execute$1.apply(Http.scala:58)
at dispatch.Http.pack(Http.scala:25)
    at dispatch.BlockingHttp$class.execute(Http.scala:53)
    at dispatch.Http.execute(Http.scala:21)
    at dispatch.HttpExecutor$class.x(executor.scala:36)
    at dispatch.Http.x(Http.scala:21)
    at dispatch.HttpExecutor$class.when(executor.scala:50)
    at dispatch.Http.when(Http.scala:21)
    at dispatch.HttpExecutor$class.apply(executor.scala:60)
    at dispatch.Http.apply(Http.scala:21)
    at models.AuthorizeNet$.AuthorizeNetDPM(main.scala:187)
    at authNetActor.AuthNetActorMain$$anonfun$receive$1.apply(AuthNetActor.scala:68)
    at authNetActor.AuthNetActorMain$$anonfun$receive$1.apply(AuthNetActor.scala:12)
    at akka.actor.Actor$class.apply(Actor.scala:318)
    at authNetActor.AuthNetActorMain.apply(AuthNetActor.scala:9)
    at akka.actor.ActorCell.invoke(ActorCell.scala:626)
    at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:197)
    at akka.dispatch.Mailbox.run(Mailbox.scala:179)
    at akka.dispatch.ForkJoinExecutorConfigurator$MailboxExecutionTask.exec(AbstractDispatcher.scala:516)
    at akka.jsr166y.ForkJoinTask.doExec(ForkJoinTask.java:259)
    at akka.jsr166y.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:975)
    at akka.jsr166y.ForkJoinPool.runWorker(ForkJoinPool.java:1479)
    at akka.jsr166y.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:104)

该错误仅发生在此服务器上,它们之间的区别在于代码路径不同,并且它们在自己的本地 IP 地址上创建参与者系统。否则,这两个参与者系统的代码是相同的。

我不确定如何修复此错误或为什么仅针对一台服务器抛出此错误。

任何帮助表示赞赏,谢谢。

4

1 回答 1

1

这似乎是一个 SSL 握手异常。

可能涉及的服务器没有有效的 SSL 证书,或者您没有在客户端密钥库中注册不受信任的证书。

于 2012-09-21T08:15:24.507 回答