1. 首页
  2. 技术教程

解析HTTP和HTTPS共用同一端口原理及实现

一、原理解析

  • 1. HTTP与HTTPS都属于应用层协议,所以只要我们在底层协议中进行反向代理,
  • 就可以解决这个问题! 因此我们可以选择底层的tcp服务进行代理!
  • 2. https数据流的第一位是十六进制“16”,转换成十进制就是22
  • 3. 通过数据流的第一位置,决定最终反向代理给http\https服务
  • 4. 具体实现方案有如下三种

二、实现方案

1、方案一,通过进程间发送socket的方式进行socket传递;

解析HTTP和HTTPS共用同一端口原理及实现

2、方案二,端口共享机制

  • node启动多个进程的时候,会标记是master、还是child进程
  •  当child进程启动端口监听的时候,listen函数会被hack,然后去master进程注册一个channel用于传递socket
  • master收到socket后,以负载均衡的方式通过child注册的channel把socket发送给child 进程
  • child 进程收到socket后,自然就可以和客户端随心所欲的恋爱

解析HTTP和HTTPS共用同一端口原理及实现

3、方案三,通过wite函数进行写入

解析HTTP和HTTPS共用同一端口原理及实现

原创文章,作者:lichun,如若转载,请注明出处:http://www.lichunseo.com/jsjc/1730.html