Netty服务器如何通过单个端口同时支持Http和Https协议?

时间:2019-01-21 06:27:23

标签: java http https netty

我们知道,我们提供http service在80端口监听,https service在443端口监听。为什么我们不在一个端口上提供两种服务?具体原因是什么? Netty服务器如何通过单个端口同时支持Http和Https协议?

1 个答案:

答案 0 :(得分:1)

您可以执行此操作,但是我认为这是个坏主意,因为两个端口均已针对http或https进行了良好定义。也就是说,如果您确实要执行此操作,则可以根据消息的前5个字节检测是否使用了SSL,然后即时注入SSL处理程序。

Netty本身包括OptionalSslHandler,它可以为您完全做到这一点:

https://github.com/netty/netty/blob/netty-4.1.32.Final/handler/src/main/java/io/netty/handler/ssl/OptionalSslHandler.java