218-关于tinyproxy

TinyProxy 是一个轻量级的 HTTP 代理服务器,适用于资源有限的环境,如嵌入式系统或小型 VPS。以下是一个详细的 TinyProxy 教程,包括安装、配置、优化和故障排查。


TinyProxy 详细教程

1. 什么是 TinyProxy?

TinyProxy 是一个小型、快速的 HTTP/HTTPS 代理服务器,支持基本的访问控制,适用于低内存和低 CPU 设备。它主要用于:

  • 代理 HTTP 请求,提高访问速度
  • 作为网络隐私工具,隐藏真实 IP
  • 过滤 Web 流量

2. 安装 TinyProxy

2.1 在 Ubuntu/Debian 安装

sudo apt update
sudo apt install tinyproxy -y

2.2 在 CentOS/RHEL 安装

sudo yum install epel-release -y
sudo yum install tinyproxy -y

2.3 在 macOS 安装

brew install tinyproxy

3. TinyProxy 配置

安装后,TinyProxy 的主配置文件在:

/etc/tinyproxy/tinyproxy.conf

3.1 允许远程访问

默认情况下,TinyProxy 仅允许本机访问。要允许远程设备访问,需要修改 tinyproxy.conf

sudo nano /etc/tinyproxy/tinyproxy.conf

找到:

Allow 127.0.0.1

添加你的 IP(例如 192.168.1.100):

Allow 192.168.1.100

或者允许整个子网:

Allow 192.168.1.0/24

3.2 更改监听端口

默认 TinyProxy 监听端口是 8888,可以修改:

Port 8888  # 修改为 8080 也可以

3.3 启用匿名模式

为了防止代理泄露客户端 IP,启用匿名模式:

AnonymousHeaders X-Forwarded-For

3.4 启用日志

LogFile "/var/log/tinyproxy.log"
LogLevel Info

3.5 限制最大连接数

MaxClients 100

4. 启动 TinyProxy

4.1 启动 TinyProxy

sudo systemctl start tinyproxy

4.2 设置开机自启

sudo systemctl enable tinyproxy

4.3 查看状态

sudo systemctl status tinyproxy

如果正常运行,会看到类似:

Active: active (running) since ...

5. 测试 TinyProxy

在客户端设备上使用 curl 测试代理:

curl -x http://<服务器IP>:8888 -L http://example.com

如果返回网页内容,则 TinyProxy 运行正常。


6. 配置客户端

6.1 浏览器代理设置

  • Chrome / Edge

    1. 打开 chrome://settings
    2. 搜索 代理
    3. 系统代理 里添加 http://<服务器IP>:8888
  • Firefox

    1. 打开 设置 > 网络设置
    2. 选择 手动代理
    3. HTTP 代理填入 <服务器IP>,端口填 8888

6.2 配置环境变量(Linux/macOS)

export http_proxy="http://<服务器IP>:8888"
export https_proxy="http://<服务器IP>:8888"

6.3 配置 SSH 代理转发

ssh -D 8888 -N -f user@your-server

然后在浏览器里设置 SOCKS5 代理 127.0.0.1:8888


7. 访问控制

TinyProxy 允许通过 tinyproxy.conf 限制 IP 访问:

Allow 192.168.1.0/24
Deny 0.0.0.0/0

这表示仅允许 192.168.1.0/24 访问,其他 IP 拒绝。


8. 日志与监控

8.1 查看日志

tail -f /var/log/tinyproxy.log

8.2 限制日志大小

LogFile "/var/log/tinyproxy.log"
MaxLogFileSize 10M

9. 代理 HTTPS 流量

TinyProxy 只能代理 HTTP,而不能直接解密 HTTPS,但可以通过 CONNECT 方法转发:

ConnectPort 443

这样,TinyProxy 只会转发 HTTPS 连接,但不会解密流量。


10. 故障排查

10.1 端口是否被占用

sudo netstat -tulnp | grep 8888

如果端口被占用,可以换一个:

Port 8080

10.2 检查防火墙

如果客户端无法访问服务器,检查防火墙:

sudo ufw allow 8888
sudo iptables -A INPUT -p tcp --dport 8888 -j ACCEPT

10.3 重启 TinyProxy

sudo systemctl restart tinyproxy

11. 卸载 TinyProxy

11.1 Ubuntu/Debian

sudo apt remove --purge tinyproxy -y

11.2 CentOS

sudo yum remove tinyproxy -y

12. 结论

TinyProxy 适用于轻量级 HTTP 代理任务,适合小型服务器和 IoT 设备。对于更复杂的需求(如身份验证、高级缓存),可以考虑 Squid 或 Shadowsocks。

如果你需要更深入的优化,可以考虑:

  • 配合 iptables 进行 IP 限制
  • 使用 fail2ban 监控日志,自动封锁恶意 IP
  • 配置 systemd 限制 TinyProxy 的资源使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值