tinyproxy 最小化快速配置指南(Ubuntu 24.04)
以下内容仅用于个人笔记,方便以后自己快速复用。
tinyproxy 最小化快速配置指南(Ubuntu 24.04)
本指南将从零开始在 Ubuntu 24.04 上安装 tinyproxy,备份默认配置,并替换为“最小可用配置”:
- 监听端口:7890
- 放行任意来源(IPv4/IPv6)
- 支持 HTTPS 直通(CONNECT,不解密 SSL)
1. 安装 tinyproxy
sudo apt update && sudo apt install -y tinyproxy
2. 备份默认配置
sudo install -d -m 755 /etc/tinyproxy/backup
sudo cp -a /etc/tinyproxy/tinyproxy.conf /etc/tinyproxy/backup/tinyproxy.conf.$(date +%F-%H%M%S)
3. 写入最小配置(/etc/tinyproxy/tinyproxy.conf)
将以下内容完整覆盖 /etc/tinyproxy/tinyproxy.conf
:
# 运行用户与用户组
User tinyproxy
Group tinyproxy
# 监听端口(按需改动)
Port 7890
# 基本超时与日志
Timeout 600
LogLevel Warning
PidFile "/run/tinyproxy/tinyproxy.pid"
LogFile "/var/log/tinyproxy/tinyproxy.log"
# 最大并发
MaxClients 100
# 允许任意来源的客户端访问(IPv4/IPv6 全放行)
Allow 0.0.0.0/0
Allow ::/0
# 允许 HTTPS 隧道直通(CONNECT,不做解密)。
# 如需放开所有端口,可删除下两行(不设置 ConnectPort 表示允许全部端口)。
ConnectPort 443
ConnectPort 563
# 可选:更“安静”的请求头(如无需要可注释)
#DisableViaHeader Yes
ViaProxyName "tinyproxy"
保存后,建议检查配置文件语法(可选):
sudo tinyproxy -c /etc/tinyproxy/tinyproxy.conf -d -v | head -n 5 | cat || true
4. 重载与启动(systemd)
sudo systemctl daemon-reload
sudo systemctl restart tinyproxy
sudo systemctl enable tinyproxy
注意:tinyproxy 默认会以守护进程方式运行,某些发行版的默认单元文件为 Type=simple
,会出现 inactive (dead)
的视觉误差。为获得“前台运行、状态准确”的显示,可覆盖为前台模式:
sudo systemctl edit tinyproxy
在弹出的覆盖文件中写入:
[Service]
Type=simple
ExecStart=
ExecStart=/usr/bin/tinyproxy -d -c /etc/tinyproxy/tinyproxy.conf
然后:
sudo systemctl daemon-reload
sudo systemctl restart tinyproxy
sudo systemctl status tinyproxy --no-pager | cat
5.(可选)放行防火墙端口
若启用了 UFW 或安全组,放行 7890/TCP:
sudo ufw allow 7890/tcp || true
云服务器需在控制台开放 7890 入站规则(TCP)。
6. 验证
- 查看监听端口:
ss -lntp | grep 7890 || sudo netstat -lntp | grep 7890 || true
- 本机显式代理测试(HTTPS 直通):
curl -x http://127.0.0.1:7890 https://github.com -I
- 远程客户端测试(将 X.X.X.X 替换为你的公网 IP,例如 47.76.145.210):
curl -x http://X.X.X.X:7890 https://github.com -I
- 查看 tinyproxy 日志(如有失败):
sudo tail -n 200 /var/log/tinyproxy/tinyproxy.log
7. 透明代理 vs 显式代理 说明
- 本指南配置的是“显式代理”:客户端或程序通过
http://<你的IP>:7890
访问,HTTP/HTTPS 请求可正常转发,HTTPS 通过 CONNECT 隧道直通,不做 SSL 解密。 - 若你需要真正“透明代理”(客户端不配置代理,由防火墙将 80/443 流量重定向到 tinyproxy),需:
- 在配置中启用
Transparent Yes
; - 使用
iptables
/TPROXY
进行流量重定向。
透明代理同样不会解密 SSL,只做转发。此场景与路由/防火墙强相关,建议单独规划与测试。
- 在配置中启用
8. 常见排障
-
curl: (7) Failed to connect
:- 端口错误(确保使用 7890)。
- 服务未监听:
ss -lntp | grep 7890
检查。 - 防火墙/安全组未放行 7890/TCP。
- 服务在前台/后台方式与 systemd 不匹配导致状态显示异常(按第 4 步覆盖为前台)。
-
返回 407 或 403:
- 确保
Allow 0.0.0.0/0
与Allow ::/0
已生效,且未配置BasicAuth
。
- 确保
至此,tinyproxy 最小化配置已完成并可用于 HTTP/HTTPS 出口代理。