两种方案手把手教你多种服务器使用tinyproxy搭建http代理

@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

结语

  • 今天就写到这里啦~
  • 小伙伴们,( ̄ω ̄( ̄ω ̄〃 ( ̄ω ̄〃)ゝ我们明天再见啦~~
  • 大家要天天开心哦

欢迎大家指出文章需要改正之处~

学无止境,合作共赢

欢迎路过的小哥哥小姐姐们提出更好的意见哇~~
相关推荐
苏三说技术1 小时前
Claude Code从失控到起飞,只用了这些技巧
后端
长栎2 小时前
写 for 循环写了十年,你却从没用过迭代器模式最狠的那一面
后端
LiaCode2 小时前
Redis 在生产项目的使用
前端·后端
用户559822481222 小时前
Docker Compose Down 导致容器数据误删——ext4 日志恢复全记录
后端
LiaCode2 小时前
一天学完 redis 的爽翻版核心知识总结
前端·后端
大刚测试开发实战2 小时前
如何内网穿透访问本地私有化部署的TestHub
前端·后端·github
xiaodaoluanzha3 小时前
迄今為止,最簡單的編程語言 Nolang
前端·后端
Csvn3 小时前
Docker 容器管理入门 — 从镜像到容器编排
后端
用户762352425913 小时前
ShardingJDBC
后端
行者全栈架构师3 小时前
IDEA 中 Maven 项目的 15 个红色报错快速解决方法
java·后端