Ubuntu22.04 Tinyproxy 轻量HTTP代理 完整部署文档(解决IP白名单报错/日志缺失)
一、软件介绍
Tinyproxy:Linux 最轻量 HTTP/HTTPS 代理,内存占用 2~5MB,无需依赖、配置极简、稳定不死机,适合个人/业务固定代理使用。
对比 3proxy/squid:更简单、无冗余功能、资源极低、适合只需要 HTTP 代理的场景。
支持:IP白名单、账号密码认证、全局开放
二、环境与安装(Ubuntu22.04 官方源纯净安装)
- 更新系统
sudo apt update && sudo apt upgrade -y - 安装 Tinyproxy
sudo apt install tinyproxy -y - 创建日志目录(解决你之前找不到日志的问题)
sudo mkdir -p /var/log/tinyproxy
sudo chmod 755 /var/log/tinyproxy - 关键路径汇总
- 主配置文件:/etc/tinyproxy/tinyproxy.conf
- 服务管理:systemd 自带
- 日志目录:/var/log/tinyproxy/tinyproxy.log
三、两套生产可用配置(二选一)
重要说明:你之前 Allow 固定IP 报错的根本原因
你本地公网IP 218.1.208.214 是你本地出口IP,但运营商多层NAT、转发,服务器真实收到的来访IP并不是这个,所以白名单直接拦截。
固定IP白名单极易失效,优先推荐【账号密码认证方案】
方案一:账号密码认证(推荐、100%稳定、不限客户端IP)
适合:动态IP、手机热点、家用宽带、随时切换网络
覆盖完整配置:
Port 3128
Listen 0.0.0.0
Timeout 600
LogFile "/var/log/tinyproxy/tinyproxy.log"
LogLevel Info
账号密码(自行修改)
BasicAuth proxy 123456
允许所有IP,靠密码鉴权
Allow 0.0.0.0/0
ViaProxyName "tinyproxy"
自定义账号密码:修改 BasicAuth 账号 密码
方案二:精准IP白名单(严格限制单客户端)
如需只允许自己使用,不要填写你IP138显示的IP,必须抓真实访问IP。
正确白名单配置模板:
Port 3128
Listen 0.0.0.0
Timeout 600
LogFile "/var/log/tinyproxy/tinyproxy.log"
LogLevel Info
只放行真实客户端IP(这里填日志抓取的真实IP)
Allow X.X.X.X
ViaProxyName "tinyproxy"
四、抓取真实客户端IP(解决白名单不准)
- 临时开启全开放
配置写 Allow 0.0.0.0/0 重启服务 - 实时监控日志
tail -f /var/log/tinyproxy/tinyproxy.log - 客户端连接一次代理
日志第一列即为 服务器真实识别的客户端IP
拿到真实IP后,替换配置里的 Allow,即可实现精准白名单。
五、重启生效 + 开机自启
sudo systemctl restart tinyproxy
sudo systemctl enable tinyproxy
六、防火墙放行(必须)
sudo ufw allow 3128/tcp
sudo ufw reload
云服务器必做:控制台安全组放行 3128 TCP
阿里云/腾讯云/华为云 不放行安全组,配置再对也连不上。
七、验证代理可用性 - 密码模式测试命令
curl -x http://proxy:123456@服务器IP:3128 https://ifconfig.me - 白名单模式测试命令
curl -x http://服务器IP:3128 https://ifconfig.me
返回服务器IP = 部署成功
八、常用运维命令
查看状态
sudo systemctl status tinyproxy
重启
sudo systemctl restart tinyproxy
停止
sudo systemctl stop tinyproxy
查看日志
tail -n50 /var/log/tinyproxy/tinyproxy.log
检查端口监听
ss -tulpn | grep 3128
九、常见报错解决方案(你遇到的问题全覆盖)
报错1:The administrator of this proxy has not configured it to service requests from your host.
原因:白名单IP填写错误(运营商NAT导致IP不一致)
解决:改用密码模式 或 抓取日志真实IP配置白名单
报错2:找不到 tinyproxy.log
原因:默认未创建日志目录
解决:执行文档内的 mkdir -p /var/log/tinyproxy
报错3:配置Allow 固定IP不生效,0.0.0.0/0 生效
100% 客户端来访IP与公网显示IP不一致,多层NAT导致。
十、优势总结(对比3proxy/squid)
- 内存占用极低:2~5MB
- 配置极简、无冗余参数
- 专门优化 HTTP/HTTPS 代理
- 支持密码+IP双重校验
- Ubuntu 原生支持、稳定不崩