根据TCP会话初始请求中包含的主机名,代理传入的HTTP和TLS连接。
基于 TCP 会话初始请求中包含的主机名,代理传入的 HTTP 和 TLS 连接。这使得基于名称的 HTTPS 虚拟主机可以分离到不同的后端服务器,而无需在代理机器上安装私钥。
2023-12-13
当我开始这个项目时,还没有其他代理填补这个空白。 现在,有许多代理可以基于TLS SNI扩展来代理第4层,包括Nginx。此外,网络流量正在演变:随着HTTP/2的出现,多个主机名可以在单个TCP流中复用,这导致SNI Proxy无法根据主机名正确路由,而HTTP/3(QUIC)使用UDP传输。SNI Proxy不支持这些协议,而添加对它们的支持会显著增加复杂性。基于这些原因,我将SNI Proxy转为弃用状态。
说实话,过去几年情况一直如此,而我并未就此发布过任何声明。随着CVE-2023-25076的出现,情况变得明朗,这一状况需要明确传达。
在某些情况下,SNI Proxy可能比通用代理更合适,因此我不会完全放弃这个项目。我仍会关注问题反馈和邮件请求;但除非是重大的安全或可靠性问题,否则请勿期待回复。
用法: sniproxy [-c <配置>] [-f] [-n <最大文件描述符限制>] [-V]
-c 配置文件,默认为 /etc/sniproxy.conf
-f 在前台运行,不降低权限
-n 指定文件描述符限制
-V 打印SNIProxy版本并退出对于基于 Debian 或 Fedora 的 Linux 发行版,请参阅内置
暂无开放 Issues,或尚未同步最近议题。