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

How does netty server supports both Http and Https protocols with a single port?(Netty服务器如何通过单个端口同时支持http和HTTPS协议?)

本文介绍了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

这篇关于Netty服务器如何通过单个端口同时支持http和HTTPS协议?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:Netty服务器如何通过单个端口同时支持http和HTTPS协议?

基础教程推荐