两种方案手把手教你多种服务器使用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 小时前
足球青训俱乐部管理:Spring Boot技术驱动
java·spring boot·后端
Pythonliu71 小时前
茴香豆 + Qwen-7B-Chat-Int8
linux·运维·服务器
你疯了抱抱我1 小时前
【RockyLinux 9.4】安装 NVIDIA 驱动,改变分辨率,避坑版本。(CentOS 系列也能用)
linux·运维·centos
AskHarries2 小时前
读《show your work》的一点感悟
后端
A尘埃2 小时前
SpringBoot的数据访问
java·spring boot·后端
yang-23072 小时前
端口冲突的解决方案以及SpringBoot自动检测可用端口demo
java·spring boot·后端
Marst Code2 小时前
(Django)初步使用
后端·python·django
代码之光_19802 小时前
SpringBoot校园资料分享平台:设计与实现
java·spring boot·后端
编程老船长2 小时前
第26章 Java操作Mongodb实现数据持久化
数据库·后端·mongodb
IT果果日记3 小时前
DataX+Crontab实现多任务顺序定时同步
后端