Tinyproxy 轻量代理服务部署与使用教程
简介
Tinyproxy 是一款轻量、小巧、低资源占用的 HTTP/HTTPS 代理服务,相较于 Squid、Nginx 正向代理,部署简单、配置极简,非常适合个人自用、容器内代理、内网转发、跨网络访问等场景。
本文基于 Linux 系统 + Docker 部署,同时提供原生安装、基础配置、访问控制、常见问题排查,全程可直接落地使用。
我使用的场景其实很简单,就是我的远程http代理是加密的,jellyfin不支持访问加密的http代理,所以用它在本地中转一下。
tinyproxy.conf 文件直接添加这个配置就行
Upstream http 用户名:密码@ip地址:端口号测试是否成功
curl --proxy http://本地IP:端口 https://ifconfig.me返回你代理服务器的地址就是成功了
一、环境说明
操作系统:CentOS 7 / CentOS 8 / Ubuntu 18.04+
部署方式:优先 Docker(推荐,隔离性强、一键启停)
代理端口:默认
8888适用场景:容器代理、终端全局代理、局域网设备代理转发
二、方式一:Docker 一键部署(推荐)
1. 前置要求
服务器已安装 Docker & Docker Compose,未安装可先执行:
bash
运行
# CentOS/Ubuntu 通用 Docker 快速安装
curl -fsSL https://get.docker.com | bash -s docker
systemctl start docker && systemctl enable docker
2. 启动容器(单条命令)
直接运行容器,映射端口并挂载配置文件:
bash
运行
# 创建配置目录
mkdir -p /data/tinyproxy
# 启动 Tinyproxy 容器
docker run -d \
--name tinyproxy \
--restart always \
-p 8888:8888 \
-v /data/tinyproxy:/etc/tinyproxy \
-e TZ=Asia/Shanghai \
dannydirect/tinyproxy
3. 查看运行状态
bash
运行
# 查看容器
docker ps | grep tinyproxy
# 查看日志
docker logs tinyproxy
三、方式二:Linux 原生安装(无 Docker 环境)
1. CentOS / RHEL 系列
bash
运行
yum install -y tinyproxy
2. Ubuntu / Debian 系列
bash
运行
apt update && apt install -y tinyproxy
3. 启停 & 开机自启
bash
运行
# 启动
systemctl start tinyproxy
# 停止
systemctl stop tinyproxy
# 重启
systemctl restart tinyproxy
# 开机自启
systemctl enable tinyproxy
# 状态查看
systemctl status tinyproxy
四、核心配置详解
配置文件路径:
Docker 部署:
/data/tinyproxy/tinyproxy.conf原生安装:
/etc/tinyproxy/tinyproxy.conf
1. 基础配置(常用修改项)
打开配置文件:
bash
运行
vi /data/tinyproxy/tinyproxy.conf
(1)监听端口 & 监听地址
conf
# 代理端口,默认 8888
Port 8888
# 允许所有IP连接(注释掉仅本地访问)
# Listen 127.0.0.1
Listen 0.0.0.0
(2)IP 访问白名单(核心安全配置)
只允许指定网段 / IP 使用代理,拒绝陌生 IP 访问:
conf
# 允许本机
Allow 127.0.0.1
# 允许局域网 192.168.0.0/24 整个网段
Allow 192.168.0.0/24
# 允许单个公网/内网IP
Allow 10.0.0.100
规则:配置多个
Allow即多白名单,不配置则默认拒绝所有外网。
(3)禁用匿名访问(账号密码认证)
开启代理密码验证,防止被蹭网:
conf
# 开启基础认证
BasicAuth user123 pass456
格式:
BasicAuth 用户名 密码可多行配置多组账号
(4)日志配置
conf
# 日志开关
LogLevel Info
# 日志文件路径
LogFile "/var/log/tinyproxy/tinyproxy.log"
2. 配置生效
Docker 部署:
bash
运行
docker restart tinyproxy原生部署:
bash
运行
systemctl restart tinyproxy
五、客户端使用教程
代理地址格式:
http://服务器IP:8888
1. Windows 系统代理设置
打开 设置 → 网络和 Internet → 代理
开启「使用代理服务器」
地址填写:
服务器IP,端口:8888保存后即可全局生效
2. Linux 终端临时代理
bash
运行
# 临时生效(当前终端)
export http_proxy=http://IP:8888
export https_proxy=http://IP:8888
# 取消代理
unset http_proxy https_proxy
3. 浏览器代理(插件方式)
使用 SwitchyOmega 等代理插件,新建规则:
协议:HTTP
服务器:你的代理 IP
端口:8888
4. 容器内使用上游代理
其他 Docker 容器引用当前 Tinyproxy:
bash
运行
# 启动容器时指定代理
docker run \
-e http_proxy=http://代理IP:8888 \
-e https_proxy=http://代理IP:8888 \
镜像名
六、防火墙 / 端口放行(必做)
服务器防火墙需放行 8888 端口,否则外部无法连接。
1. Firewalld(CentOS)
bash
运行
# 放行端口
firewall-cmd --permanent --add-port=8888/tcp
# 重载规则
firewall-cmd --reload
# 查看放行端口
firewall-cmd --list-ports
2. UFW(Ubuntu)
bash
运行
ufw allow 8888/tcp
ufw reload
七、测试代理是否正常
在客户端执行测试命令:
bash
运行
# Linux / Mac 终端测试
curl www.baidu.com
# 查看当前出口IP,验证代理转发成功
curl ip.sb
若返回代理服务器 IP,说明代理部署正常。
八、常见问题排查
1. 无法连接代理
检查:防火墙
8888端口是否放行检查:配置文件
Listen 0.0.0.0是否开启检查:容器 / 服务是否正常运行
2. 连接被拒绝(Access denied)
原因:IP 不在白名单
解决:在 tinyproxy.conf 添加对应客户端 IP / 网段,重启服务。
3. 认证失败
原因:开启了 BasicAuth 但客户端未填账号密码
解决:浏览器 / 系统代理中填写配置的用户名和密码。
4. 容器重启后配置丢失
原因:未正确挂载配置目录
解决:确认 -v /data/tinyproxy:/etc/tinyproxy 挂载参数无误。
九、总结
Tinyproxy 凭借轻量、低耗、易配置的特点,是个人代理、内网转发、容器代理场景的首选。
个人自用推荐 Docker 部署,一键运维、迁移方便;
多设备共享务必配置 IP 白名单 + 账号密码,避免滥用;
端口、防火墙、白名单是三大核心排查点。