

























本篇文章接上篇 网站支持 HTTP 2.0,那篇文章中提到我对网站进行了升级,以支持 HTTP/2.0。我在博客程序前部署了 nginx 反向代理,通过 nginx 实现 TLS 加密、数据压缩、websocket 转发及 HTTP 2.0 通信。
Internet 上代理这个概念非常流行,随处可见。如同字面意思,代理服务器即指代表真实机器的中间服务器,可以隐藏真实机器的地址和身份,代理服务器作为代表与目标机器建立连接,在真实机器与目标机器之间转发数据。
反向代理是相对正向代理而言的。想要搞清楚反向代理,就必须先了解正向代理。正向代理位于客户端机器前面,比如常见的 HTTP Proxy 或者 Socks Proxy 等。通过在浏览器中设置代理服务器的 IP 地址、端口号、用户名密码等信息,即可通过代理服务器上网。
反向代理位于服务器前面,可以起到隐藏和保护后台 Web 服务器的作用,浏览器等客户端程序不能够直接连接 Web 服务器,无法得知代理服务器后的网络拓扑结构。
常见的反向代理软件有 Nginx、Apache、Caddy、HAProxy、Squid 等
基于反向代理服务器的重要性,我想通过动手实现一个具备基本功能的反向代理服务器 hawkey,来深入了解下其中的原理。在你通过浏览器看本文时,浏览器发出的到 huoyijie.cn 的所有请求都是经过 hawkey 反向代理转发到博客程序的。后文中,我会陆续介绍 hawkey 的主要代码实现。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。