两种方案手把手教你多种服务器使用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

结语

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

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

学无止境,合作共赢

欢迎路过的小哥哥小姐姐们提出更好的意见哇~~
相关推荐
初晴~2 分钟前
【Redis分布式锁】高并发场景下秒杀业务的实现思路(集群模式)
java·数据库·redis·分布式·后端·spring·
盖世英雄酱581367 分钟前
InnoDB 的页分裂和页合并
数据库·后端
小_太_阳28 分钟前
Scala_【2】变量和数据类型
开发语言·后端·scala·intellij-idea
直裾31 分钟前
scala借阅图书保存记录(三)
开发语言·后端·scala
Linux运维技术栈43 分钟前
Ansible(自动化运维)环境搭建及ansible-vault加密配置
运维·自动化·ansible
星就前端叭1 小时前
【开源】一款基于Vue3 + WebRTC + Node + SRS + FFmpeg搭建的直播间项目
前端·后端·开源·webrtc
Bessssss2 小时前
centos权限大集合,覆盖多种权限类型,解惑权限后有“. + t s”问题!
linux·运维·centos
苹果醋32 小时前
Golang的文件加密工具
运维·vue.js·spring boot·nginx·课程设计
小林coding2 小时前
阿里云 Java 后端一面,什么难度?
java·后端·mysql·spring·阿里云
AI理性派思考者2 小时前
【保姆教程】手把手教你在Linux系统搭建早期alpha项目cysic的验证者&证明者
后端·github·gpu