实现http和https共用同一个端口
实现http和https共用一个端口原理
1. HTTP与HTTPS都属于应用层协议,所以只要我们在底层协议中进行反向代理,
就可以解决这个问题! 因此我们可以选择底层的tcp服务进行代理!
2. https数据流的第一位是十六进制"16",转换成十进制就是22
3. 通过数据流的第一位置,决定最终反向代理给http\https服务
4. 具体实现方案有如下三种
-
方案一 1.png
-
方案二 1.png
-
方案三 3.png
10 回复
方案一与方案三出了 socket readable部分处理头部首字节的不同,还有区别点吗?其实方案二才是最适合的,这在child_process创创建多进程的服务模式下是最常用的