有没有什么工具可以让我通过原始 tcp 制作 tls 转发器?
我有一个没有加密的服务器,纯文本 TCP 通信。
我想通过 tls 连接到它,但无法更改服务器代码。
我需要一个 tls 转发工具来在服务器中创建一个 tls 包装器并转发到纯文本 tcp 服务器。
如果我连接到该 tls,该 tls 将连接到纯文本服务器并充当我的代理。
有没有什么免费工具可以让我的生活更轻松?
答案1
是的,这被称为“反向代理”或“终止代理”。由于您专门使用它来提供 TLS,因此可以将其称为“TLS 终止代理”或“TLS 卸载代理”。人们通常为此使用 nginx 或 HAProxy,但我相信解决方案的数量与 HTTP 服务器实现的数量一样多。您甚至可以使用 Python 的内置 HTTP 服务器模块从简单的 Python 脚本执行此操作。
基本步骤是安装您要用作代理的软件,生成您希望代理服务器使用的 TLS 证书,将该证书安装到您的代理软件中,并配置代理软件以将所有请求转发到不安全 HTTP 服务器的 IP 地址和端口。
如果您使用自签名证书,则必须告诉您的客户信任它。如果这是个问题,您可以使用 Let's Encrypt 之类的服务来获取大多数客户都会自动信任的公开签名证书。
答案2
Spiff 正确地回答了这个问题,但没有提供一个清晰的例子,我自己找到了人类历史上最简单的解决方案,使用戈斯特:
只需运行以下命令:
gost -L tls://:listen_port/:forward_port
就我而言:
gost -L tls://:443/:80