![轻量级 HTTPS 反向代理](https://linux22.com/image/769181/%E8%BD%BB%E9%87%8F%E7%BA%A7%20HTTPS%20%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86.png)
我有类似需求此成员:单个公共 IP,多个 HTTPS 后端,证书应保留在后端服务器上。帖子的答案列出了 NGINX、haproxy 和 sniproxy 等可能的解决方案。
我的公共 IP 位于资源非常紧张的 Debian 服务器上(1 个 vCPU,512MB RAM),所以这是一个问题。列出的哪个解决方案需要的资源最少?或者还有其他替代方案吗?TIA!
答案1
@安克斯说“测试一下”(尽管如此,还是用粗体),所以我就这么做了。
其实不是,因为我没有时间。由于我怀疑不同的解决方案可能相差几个数量级,所以我省去了以下麻烦:实际配置和设置另一个系统来运行负载测试。特别是因为我的反向代理的规格暗示后端服务器的容量不大。
相反,我安装了软件包(只是apt install <App>
)并执行了free -m && service <APP> start && free -m && service <APP> stop && free -m
。在各个步骤之间等待几秒钟。我还使用了 Debian 11,在撰写本文时,它仍然是测试分支。
我知道这很简陋,但它满足了我的目的。结果如下,格式为:应用程序(使用的磁盘空间、apt 安装的附加软件包、使用的内存)
sniproxy (298 kB, 2, 1-2 MB)
apache2 (8,634 kB, 6, 3-4 MB)
nginx (20,500 kB, 20, 4-6 MB)
haproxy (4,315 kB, 1, 34-35 MB)
我已经包含了 apache,因为我认为它还包括类似的功能,即使链接的帖子中没有提到。请注意,这在科学上并不可靠,因为我刚刚使用了free
操作系统的内存使用情况当然会导致变化。
因此,按照 UNIX 传统,使用一种只做一项工作(并且希望做得很好)的工具。因此,如果您只需要一个支持 SNI 的轻量级第 4 层代理,请使用sniproxy
。链接的帖子还提到,它很容易配置。