【问题标题】:Support both SSL and non-SSL on the same server port在同一服务器端口上同时支持 SSL 和非 SSL
【发布时间】:2011-03-17 03:00:10
【问题描述】:

我计划使用 OpenSSL 将加密添加到我的服务器/客户端通信中。但我想让用户选择是否要使用 SSL 通道进行通信。最简单的方法是创建 2 个套接字并将它们绑定到不同的端口,但我希望服务器仅在一个端口上提供服务。

是否有办法打开服务器端的 SSL 套接字,它支持关于客户端传入连接的 SSL 和非 SSL 通信?

附:我将 OpenSSL lib 用于我的 c++ 代码。

【问题讨论】:

    标签: openssl client-server


    【解决方案1】:

    TLS 客户端问候具有标准格式。您可以查看第一条消息的前几个字节,检测这是否是 TLS 客户端问候,并做出相应的响应。

    另一种解决方案是在端口 X 上连接未加密的服务,并设置 stunnel 以侦听端口 Y,它将处理 TLS 层,并将明文转发到本地端口 X。虽然这将绑定到两个端口,您的服务只会运行一次。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-25
      • 2011-09-10
      • 2015-05-28
      • 2010-11-20
      • 2012-08-12
      • 2010-10-22
      • 2020-05-27
      相关资源
      最近更新 更多