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/0Allow ::/0 已生效,且未配置 BasicAuth

至此,tinyproxy 最小化配置已完成并可用于 HTTP/HTTPS 出口代理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值