加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

带有Akka的Scala上带有SSL的TCP套接字

发布时间:2020-12-16 08:43:57 所属栏目:安全 来源:网络整理
导读:使用 Scala 2.10和Akka 2.3.4,我将一个简单的代理服务器放在一起,接受传入的TCP连接,然后将这些消息代理到远程服务器.事情正在使用纯文本,但我坚持使用SSL. 简而言之,这是我为传入连接启动非安全服务器的方式: val server = system.actorOf(Props(new Legac
使用 Scala 2.10和Akka 2.3.4,我将一个简单的代理服务器放在一起,接受传入的TCP连接,然后将这些消息代理到远程服务器.事情正在使用纯文本,但我坚持使用SSL.

简而言之,这是我为传入连接启动非安全服务器的方式:

val server = system.actorOf(Props(new LegacyTCPServer),name = "my-tcp-server")

implicit val bindingTimeout = Timeout(1.second)
import system.dispatcher // execution context for the future

val boundFuture = IO(Tcp) ? Tcp.Bind(server,endpoint)

boundFuture.onSuccess { case Tcp.Bound(address) =>
  println("Fantastic! We have a connection: " + address)
}

我可以通过telnet连接到这个服务器,但是现在我想将no移到opensl.我想必须有一些配置选项,但我似乎无法从文档解析它:http://doc.akka.io/docs/akka/2.3.4/scala.html

我已经看到了一些使用TCPPipelineHandler的akka?? 2.2.x的(非功能性)示例,例如,

https://groups.google.com/forum/#!topic/akka-user/auErrrk9wS0

https://github.com/betehess/ping-pong-bot/blob/master/app/ircbot/IrcClient.scala#L183

但是在akka 2.3.x中似乎不存在TCPPipelineHandler,所以感觉就像死路一条.

如果有人可以提供一个如何使用当前版本的Scala& amp;来提供在ssl上设置tcp套接字的示例,我会很高兴.阿卡.

如果您想了解更多信息,请与我们联系.谢谢!

解决方法

spray是建立在Akka IO之上的HTTP服务器/客户端.

在“io.spray”%“spray-io”%“1.3.1”包中有一个pipelining infrastructure和SslTlsSupport.我在一个项目中使用它,我正在努力.有关详细信息,请参阅如何在喷涂中为HttpServerConnection配置它.

您需要重构代码以使用来自喷涂的管道,如果您将代码分成多个阶段,每个负责一小部分,我的经验代码会变得更加容易.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读