也可以阅读原文:https://jiajunhuang.com/articles/2019_06_09-write_you_a_simple_reverse_proxy.md.html
此前谈到网络编程的重要性,放假在家做了一个反向代理。
目前来说,比较好用的反向代理是 frp。但是用归用,造轮子归造轮子。明白了底层原理,才心安。
先来看看frp的架构图,基本上反向代理都是这样的架构。
图片见:https://jiajunhuang.com/articles/2019_06_09-write_you_a_simple_reverse_proxy.md.html
注意两点:
- 我们需要一个客户端,用于与服务端保持长连接
- 我们在服务端需要单独监听一个端口,当有新的连接时,就把请求内容转发到客户端与服务端所建立的长连接中
因此,我的 natrp 的流量示意图是这样的: