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

结语

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

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

学无止境,合作共赢

欢迎路过的小哥哥小姐姐们提出更好的意见哇~~
相关推荐
代码之光_19803 分钟前
保障性住房管理:SpringBoot技术优势分析
java·spring boot·后端
ajsbxi9 分钟前
苍穹外卖学习记录
java·笔记·后端·学习·nginx·spring·servlet
萨格拉斯救世主23 分钟前
戴尔R930服务器增加 Intel X710-DA2双万兆光口含模块
运维·服务器
Jtti26 分钟前
Windows系统服务器怎么设置远程连接?详细步骤
运维·服务器·windows
yeyuningzi40 分钟前
Debian 12环境里部署nginx步骤记录
linux·运维·服务器
颜淡慕潇1 小时前
【K8S问题系列 |1 】Kubernetes 中 NodePort 类型的 Service 无法访问【已解决】
后端·云原生·容器·kubernetes·问题解决
EasyCVR1 小时前
萤石设备视频接入平台EasyCVR多品牌摄像机视频平台海康ehome平台(ISUP)接入EasyCVR不在线如何排查?
运维·服务器·网络·人工智能·ffmpeg·音视频
尘浮生2 小时前
Java项目实战II基于Spring Boot的光影视频平台(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·后端·maven·intellij-idea
尚学教辅学习资料2 小时前
基于SpringBoot的医药管理系统+LW示例参考
java·spring boot·后端·java毕业设计·医药管理
wowocpp2 小时前
ubuntu 22.04 硬件配置 查看 显卡
linux·运维·ubuntu