当前位置: 首页 > news >正文

Ghostunnel:给后端服务加一层 TLS 代理

文章目录

  • Ghostunnel:给后端服务加一层 TLS 代理
    • 1、 两种工作模式
    • 2、 核心能力
    • 3、 怎么装
    • 4、 基本用法
    • 5、 适合什么场景

Ghostunnel:给后端服务加一层 TLS 代理

ghostunnel 在 GitHub 上有 2,172 Star。

这是一个用 Go 写的 TLS 代理工具,专门解决一个问题:后端服务本身不支持 TLS,但你又需要加密通信。它在前面挡一层,帮你处理 TLS 握手和证书验证,后端只管收发明文流量就行。

1、 两种工作模式

Ghostunnel 支持两种模式,server 模式和 client 模式。

Server 模式:监听 TLS 连接,把请求转发给后端的非加密服务。相当于在后端前面放了一个 TLS 终结点。

Client 模式:接收本地的非加密连接,包上一层 TLS,再转发给远端的加密服务。相当于给客户端套了一个 TLS 出口。

两种模式可以串联,组成完整的加密隧道。客户端发明文,client 端加密,走网络到 server 端解密,再发给后端。全程只有中间这段网络是加密的。

2、 核心能力

双向 TLS 认证。不只是服务端出示证书,客户端也必须拿出有效证书才能连上来。可以按证书的 CN、OU、DNS、URI 等字段做细粒度的访问控制,还支持接入 Open Policy Agent 做策略引擎。

证书热加载。发个 SIGHUP 信号就能重新加载证书,不用重启进程。也可以设置定时轮换,配合短生命周期证书使用。

证书来源灵活。PEM、PKCS#12 文件、ACME 自动申请、硬件安全模块、macOS 钥匙串、Windows 证书存储、SPIFFE Workload API,都支持。

默认安全。监听地址和目标地址默认只绑定 localhost 和 UNIX socket,不会意外暴露到外网。Linux 上还默认开启 Landlock 沙箱限制进程权限。

内置监控。有个 status 端口,可以暴露 JSON 和 Prometheus 格式的指标数据,也能开 pprof 做性能分析。

3、 怎么装

可以从 GitHub Releases 下载二进制,也可以用 Docker 镜像。Docker 有三个版本:Alpine、Debian 和 Distroless。

自己编译的话,用 mage 构建系统:

go tool mage go:build

跑测试:

go tool mage test:all

4、 基本用法

Server 模式示例,监听 8443 端口,转发给本地 8080 的后端:

ghostunnel server\--listenlocalhost:8443\--targetlocalhost:8080\--keystoreserver.p12\--cacertca.pem\--allow-cn client

Client 模式示例,监听本地 8080,转发给远端 8443 的 TLS 服务:

ghostunnel client\--listenlocalhost:8080\--targetlocalhost:8443\--keystoreclient.p12\--cacertca.pem

5、 适合什么场景

后端是老服务,加不了 TLS 支持,但又需要在公网上跑加密通信。

微服务之间需要双向认证,但不想每个服务自己管证书。

需要频繁轮换证书,用 SPIFFE 或短生命周期证书的环境。

跑在 Kubernetes 里,想用 Landlock 限制容器权限,同时对外提供 TLS 端点。

支持 Linux、macOS、Windows,也跑在 FreeBSD、OpenBSD、NetBSD 上。

lock 限制容器权限,同时对外提供 TLS 端点。

支持 Linux、macOS、Windows,也跑在 FreeBSD、OpenBSD、NetBSD 上。

http://www.jsqmd.com/news/1125544/

相关文章:

  • 2026华为OD面试题001:两个字符串间的最短路径问题
  • 防止对话上下文腐败(Context Corruption)的策略
  • 泡沫的是估值与投机,不是技术本身:不要天天看,而是了解行业,消除噪音报价
  • 数据指标 SLA:报表准时不代表指标可信
  • 老鸟对菜鸟的一些建议
  • JSM2300 20V/6A N 沟道功率 MOSFET
  • 操作系统死锁避免核心:银行家算法超详细图解+实战案例
  • 告别技术空谈:九尾狐AI发布2026年最新企业AI培训体系,主推‘战略到变现‘全周期陪跑模式
  • Scikit-learn 1.5.0 心脏病预测实战:5种分类算法调参与模型融合策略
  • 若依系统登录密码RSA加密实战:jsencrypt前端加密与Spring Boot后端解密
  • web第十、十一次作业
  • AI上台模特AI特效全面探索,服饰行业高效换装实测对比
  • 智慧滑坡监测数据集构建与YOLO模型训练指南
  • 打破显存瓶颈TESHY 活体架构与全维异步管道的端侧革命从静态文件到呼吸生命
  • 探索虚幻引擎游戏资产的终极利器:FModel深度解析与实战指南
  • 企业微信二次开发中的文件系统设计:媒体资源、临时文件与业务附件
  • 从零到一:使用OWASP ZAP对DVWA进行自动化安全扫描实战
  • 从零构建AI Agent:基于LangChain的智能数据查询助手实战
  • JSON转表格使用教程:从入门到精通
  • 原来网站排名还能“买”到?
  • 从问答机到协作者:Codex如何通过理解项目上下文提升AI编程效率
  • 开源自建还是企业级 API 中转?选型对比指南
  • SOME/IP通信调试血泪史——组播地址出错
  • 西安正规GEO公司推荐
  • 8人硕博团队,单月获客100+!留学赛道的“王炸打法”藏不住了
  • 整理了大半年的全品类少儿编程备课资源,终于把坑都踩平了
  • python lambda 入门+实战
  • 京东JoyAI-VL-Interaction实时视频交互模型部署与应用指南
  • 基于STM32单片机智能充电桩计费设计 电动车充电桩计费系统 成品21(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_
  • 【JAVA毕设源码分享】基于springboot电子外设销售系统的设计与实现(程序+文档+代码讲解+一条龙定制)