标签 运维工具 下的文章

别再用 Nginx 配置折磨自己了,推荐 Zoraxy 让你 3 分钟搞定反向代理

免责声明:本文中信息来源于网络,作者不保证其绝对正确性。读者在依据本文内容做出任何决策或行动前,应自行进行充分的调查与核实。对于因使用本文内容而产生的任何直接或间接损失,作者不承担任何责任。

本文为专业文章, 适合运维、开发、self-hosted 需求人员观看。


你有没有这种经历?

新部署了一个服务,要去改 Nginx 配置文件。再部署一个,又要改。改完还得nginx -s reload

有时候改错了语法,reload 失败,服务全挂了。

这时候你突然意识到:学 Nginx 配置语法的时间,比学做饭的时间还长。

别问我是怎么知道的。

Zoraxy001

现状

反向代理在运维、开发、self-hosted  场景中经常用到,目前 Nginx 、Caddy 、Traefik 是主流选择。它们有个共同点:需要改配置文件

语法要记,改完要重载,错了要排查。对于不想折腾配置文件的人来说,这门槛不低。

今天介绍一个不一样的选择:Zoraxy 最大特点是全 UI 操作,支持动态应用规则的反向代理。

1

4

Zoraxy 是什么

Zoraxy 是一款基于 go 编写的动态反向代理工具。

最大的特点:Web UI 管理,零配置文件

项目简介里写得很直白——这可能是最适合新手的反向代理管理器之一。

想到了 python 的 solgan: 人生苦短,我用 python

它不是药,但可能治好你的"配置文件恐惧症"。

让我想起一个笑话。

有人问医生:"我每天都要吃止痛药才能工作,怎么办?"

医生说:"那你就别工作了。"

Zoraxy 就是那个让你不用"吃止痛药"的选择——你不需要每天和配置文件较劲。

能做什么

  • 反向代理:HTTP/2 、WebSocket 自动代理、虚拟目录、别名主机、自定义请求头、负载均衡。

  • SSL 证书:ACME 自动申请、Let's Encrypt 支持、DNS Challenge 。

  • 访问控制:IP 黑白名单、国家/地区封禁。

  • 流代理:TCP/UDP 代理。

  • 监控:集成 Uptime Monitor ,实时主机健康检查。

  • 其他:Web SSH 终端、插件系统、实时流量分析。

2
3
4
5
6
7
8
9

快速上手

安装

因为基于 go 编写,基本上主流系统上直接安装编译好的文件就成。以 Linux 为例:

wget https://github.com/tobychui/zoraxy/releases/latest/download/zoraxy_linux_amd64

chmod +x ./zoraxy_linux_amd64

sudo ./zoraxy_linux_amd64

启动后访问 http://localhost:8000 进行初始设置(无需配置文件,全部操作在 UI 中完成)。

就这么简单。

配置反向代理

登录 Web 界面后,添加反向代理规则很简单:

  1. 填写域名(比如 ftp.server.local, 注意提前配置好你的 dns 指向)
  2. 填写目标地址(比如 http://192.168.1.100:3000
  3. 保存就动态生效了

就这么简单。

zoraxy004_createrules

zoraxy004_http

SSL 证书

Zoraxy 内置 ACME 客户端功能,支持 Let's Encrypt 等服务商证书的自动申请:证书自动续期,不用担心过期。

下面以自定义 ACME 服务器为例,展示 ssl 证书的申请。

zoraxy005_ssl

Uptime Monitor

Zoraxy 还集成了主机健康检查功能。

实时监控服务可用性,支持 HTTP/TCP/UDP 检查,失败会告警。

在"Uptime Monitor"页面添加监控目标就行。

和 Nginx/Caddy 的区别

特性 Zoraxy Nginx Caddy
配置方式 Web UI 配置文件 配置文件
动态更新 ✅ 即时生效 ❌ 需 reload ✅ 自动
SSL 证书 ACME 自动 需手动配置 ACME 自动
学习曲线
插件系统
Uptime Monitor ✅ 内置

核心差异很明显:Zoraxy 全部通过 Web 界面操作,改完立即生效,不用重载服务。

不想记配置文件语法的话,这是最大的优势。

什么时候用 Zoraxy

总体来说,zoraxy 十分适合中小企业内部, 家用 self-hosted 场景。

人生苦短, 我用  zoraxy

适合

  • 家用 lab/自托管多个服务

  • 不想折腾配置文件

  • 需要快速添加/删除代理规则

  • 需要基本的健康检查

  • 新手入门反向代理

不适合

  • 需要极高性能( Nginx/Traefik 优化更好)

  • 需要复杂的高级配置

  • 配置即代码( IaC )需求

其他信息

Zoraxy 是开源项目,AGPL 许可。

因为 go 的特性支持跨平台:Windows 、Linux 、macOS 、ARM 设备、RISC-V 。也集成到 TrueNAS 、Umbrel 、YunoHost 等应用市场。

写在最后

Nginx/Caddy 依然是优秀的选择。

但如果你厌倦了改配置文件,想要更简单的管理方式,或者刚开始接触 self-hosted ,可以试试 Zoraxy 。

就像那个老笑话:当手里拿着锤子时,看什么都像钉子。

但有时候,你需要的不是更好的锤子,而是一把螺丝刀。

Zoraxy 就是那把螺丝刀——它不是要取代你的锤子,而是给你一个不同的选择。

希望小编文章能帮助到大家,欢迎关注本公众号;有问题留言交流。

其他

欢迎关注本公众号其他社媒平台

link_logo

点击以下链接关注我的数字名片!

https://muselink.cc/hamisay

"如果您觉得这篇文章对您或您的朋友有所帮助,不妨动动手指,关注我们、点赞并分享到朋友圈,让更多人受益。您的每一次互动都是对我们最大的支持和鼓励!"

特别声明

  1. 无商业推广:本方案纯属个人运维心得分享,不涉及任何商业利益。
  2. 纯免费工具:所涉及的工具(ttyd、沉浸式翻译插件等)均为目前市面上现有的开源或免费工具组合,不存在任何付费下载或订阅引导。

痛点

各位在日常运维或者学习过程中,应该遇到过这些痛点:

  • 执行 kubectl --helpdocker --help 这类命令帮助文档时,面对满屏的英文参数看得头疼。
  • 看到复杂的报错日志(如 Java StackTrace 或 K8s Event),想翻译却发现传统的 Terminal 不支持浏览器插件。
  • 复制到网页翻译再切回来,来回折腾打断了操作流,效率极低。

折腾过程

有道翻译: (不符合需求,Pass 掉)

  • 以前跟同事合租的时候见过他用过有道翻译的功能,给电脑装上之后发现它在终端里只能划词翻译单词,但是在其他场景下他的划词翻译有点像狗皮膏药会挡着自己的视线,要翻译长句子就得切换到软件界面,截图翻译比较费劲,其他的功能估计需要开 vip。

沉浸式翻译:

  • 这是一个用的比较广泛的浏览器翻译插件,翻译功能比较好用,但是终端上又不支持。那是不是可以安装一个浏览器版本的 Terminal 插件?或者用代理转发到浏览器的界面上就可以用沉浸式翻译的功能了。

用过 Openwrt 软路由的大概从 web 界面连接过终端,它的终端是由一个叫 ttyd 的小插件实现的。问一下 Gemini 方案确实可行。

核心思路

  1. ttyd: 一个简单的 C 语言编写的工具,可以将任意命令行程序(如 bash/zsh)通过 WebSockets 暴露到浏览器。
  2. 沉浸式翻译: 浏览器插件,其 “悬浮球(小圆点)” 功能可以识别网页中的文本块并进行双语对照翻译。
  3. 结合: 当终端内容以 Web 形式呈现时,它就变成了插件可触达的 “文本块”,翻译体验瞬间拉满。

快速上手

1. 安装 ttyd

大部分 Linux 发行版都可以直接安装:

# Ubuntu/Debian sudo apt install ttyd

# CentOS/RHEL sudo yum install ttyd

# macOS
brew install ttyd

2. 启动服务

运行以下命令开启一个 Web 终端(默认端口 7681):

ttyd -W bash

注:-W 参数允许在浏览器中进行写入操作(输入命令)或者 ttyd -p port bash。

3. 浏览器访问

打开浏览器,访问 http://your-ip:7681。你会看到一个熟悉的终端界面。

4. 开启翻译

确保你安装了 沉浸式翻译 插件。

  • 在插件设置中开启 “显示悬浮球”。
  • 鼠标选中在那些复杂的 kubectl 帮助文档或者报错日志上。
  • 点击小圆点,直接原地翻译!选择免费模型即可,普通用户翻译量应该不会大到哪里去,我这里选择的是硅基流动,它会对一些多义词也进行解释,用起来还不错。(选择其他的不太支持,不知道为啥,只有小圆点支持)

进阶:一键脚本 (alias)

为了方便使用,可以在 .bashrc.zshrc 中添加一个别名:

# 自动获取本机 IP 并启动,限定端口防止冲突 alias webterm='ttyd -p 7681 -W bash' 

如果你是在远程服务器上操作,建议配合 ssh -L 做端口转发,或者在前端加个 Nginx 反代并开启 Basic Auth,确保安全:

ttyd -c user:password -p 7681 bash

实际效果展示

  • 场景 A:查命令用法 输入 kubectl get pods --help,滚屏后直接点选大段的参数说明,中文释义紧随其后。
  • 场景 B:看报错日志 当看到 Error from server (Forbidden): ... 等长难句时,一键翻译,秒懂权限缺失的具体原因。

小提示

  • 性能: ttyd 非常轻量,几乎不占 CPU。
  • 排版: 沉浸式翻译对 Web 终端的布局适配非常好,通常不会破坏排版。
  • 安全: 如果在公网服务器上运行,务必加上验证密码 (-c) 或配置防火墙。
    大家还有什么终端增强的神器,欢迎在评论区交流。

📌 转载信息
原作者:
Linuxer-gx
转载时间:
2026/1/20 10:43:18