Netty服务器如何通过单个端口同时支持http和HTTPS协议?
我们知道,我们提供
http service
监听80端口,https service
监听443端口。为什么我们不在一个港口上提供两种服务呢?具体原因是什么?Netty服务器如何通过单个端口同时支持http和HTTPS协议?
解决方案
您可以这样做,但我认为这不是一个好主意,因为两个端口都为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
相关文章