@[TOC]
Tinyproxy是什么?
Tinyproxy 是一个轻量级的代理服务器,主要用于 HTTP 请求转发。
特点
- 轻量级: 小巧,占用资源少
- 简单易用: 配置简单,易于部署和管理。
功能
- HTTP 代理: HTTP 请求转发
- 身份验证: 支持基本的身份验证,可以限制对代理服务器的访问。
- 日志记录: 记录请求和响应的日志,便于监控和故障排查。
- 缓存: 可以启用简单的缓存功能,减少重复请求。
安装方案一:Docker安装
如果你现在有docer环境,一定要试试用Docker的方式实现,分分钟就搞定啦!!!
安装tinyproxy镜像,启动容器将内部8888端口至外部,ANY代表允许所有ip访问代理
设置端口之前,请确保防火墙允许端口8888
bash
docker pull monokal/tinyproxy:latest
docker run -d --name='tinyproxy' -p 8888:8888 monokal/tinyproxy:latest ANY
获得代理地址
假如我的服务器IP为10.251.XXX.101,那么代理地址就是:10.251.XXX.101:8888
安装方案二:系统包管理器
Tinyproxy 可以通过包管理器安装。以下是一些常见的 Linux 和 mac发行版的安装命令:
MAC电脑
tinyproxy
Linux
Debian/Ubuntu:
sql
sudo apt-get update
sudo apt-get install tinyproxy
CentOS/RHEL:
sudo yum install tinyproxy
Fedora:
sudo dnf install tinyproxy
配置
Tinyproxy 的配置文件通常位于 /etc/tinyproxy/tinyproxy.conf。以下是一些常用的配置选项:
监听端口:
yaml
ini
Port 8888
身份验证:
bash
ini
Allow none
AuthType Basic
AuthName "Tinyproxy"
UserDir /etc/tinyproxy/users.d/
用户文件可以放在 /etc/tinyproxy/users.d/ 目录下,每个用户一个文件,格式为:
makefile
ini
username:password
日志记录:
c
ini
LogFile /var/log/tinyproxy.log
LogLevel DEBUG
缓存:
ini
MaxClients 100
MaxConn 10
CacheSize 0
配置案例
bash
User nobody
Group nobody
# 绑定监听端口号
Port 8888
# 监听的网络接口 默认会监听所有的接口
#Listen 192.168.0.1
# 设置代理流量要走的接口
Bind 192.168.0.36
# 最大连接空闲时间
Timeout 600
DefaultErrorFile "/usr/local/tinyproxy/share/tinyproxy/default.html"
StatFile "/usr/local/tinyproxy/share/tinyproxy/stats.html"
LogLevel Info
# 最大客户端连接数
MaxClients 100
# 访问来源限制
# 若你想任何IP都可以使用Proxy在Allow前面打#注释
Allow 127.0.0.1
Allow ::1
Allow 172.16.0.0/24
ViaProxyName "tinyproxy"
# 设置允许的SSL流量端口
ConnectPort 443
ConnectPort 563
配置说明
- 以根用户启动时,在初始化完成后切换 uid/gid 为 nobody/nogroup
- Port 默认监听端口为 8888(该端口无需用 root 权限绑定)
- 默认在所在网卡上监听
- Logfile (必须) 日志文件, 默认 / usr/var/log/tinyproxy/tinyproxy.log,在 LogFile 文件不存在时会警告,不会运行失败。
- Pidfile (必须)pid 文件, 默认 / usr/var/run/tinyproxy/tinyproxy.pid,在 PidFile 文件不存在时会运行失败。
- StartServers 初始启动的代理服务器子进程 (默认是 10 个)
- Allow 允许使用 tinyproxy 进行 HTTP 代理的 IP 地址。默认是 127.0.0.1,如果想要公开 tinyproxy 代理服务器,则把 Allow 一行注释掉
启动与管理
Tinyproxy 可以通过系统服务进行管理。以下是一些常用的命令:
启动 Tinyproxy:
sql
sudo systemctl start tinyproxy
检查状态:
lua
sudo systemctl status tinyproxy
停止 Tinyproxy:
arduino
sudo systemctl stop tinyproxy
重启 Tinyproxy:
sudo systemctl restart tinyproxy
使用示例
假设 Tinyproxy 在本机上运行,并监听端口 8888。你可以使用其他电脑通过以下方式配置浏览器或其他应用程序使用 Tinyproxy 作为代理:
浏览器设置:
- 如果是当前服务器电脑测试,设置 HTTP 代理地址为 localhost 或 127.0.0.1。
- 如果是其他电脑测试代理服务配置,设置 HTTP 代理地址为: 已经安装并且启动Tinyproxy服务器的IP
- 设置端口为 8888(确保防火墙允许)
curl 示例:
perl
curl --proxy http://你的IP地址:8888 http://example.com
日志与监控
Tinyproxy 的日志通常记录在 /var/log/tinyproxy.log 中。你可以通过查看日志来监控代理服务器的工作情况。
bash
tail -f /var/log/tinyproxy.log
结语
- 今天就写到这里啦~
- 小伙伴们,( ̄ω ̄( ̄ω ̄〃 ( ̄ω ̄〃)ゝ我们明天再见啦~~
- 大家要天天开心哦
欢迎大家指出文章需要改正之处~
学无止境,合作共赢