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

结语

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

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

学无止境,合作共赢

欢迎路过的小哥哥小姐姐们提出更好的意见哇~~
相关推荐
Ccjf酷儿4 小时前
计算机网络 (郑烇) 2 应用层
运维·服务器·计算机网络
寰天柚子4 小时前
服务器性能优化实战:从资源瓶颈定位到极致调优(附租赁服务器适配指南)
运维·服务器·udp
未来之窗软件服务4 小时前
服务器运维(十九)web服务管理Nginx UI介绍——东方仙盟炼气期
运维·服务器·服务器运维·东方仙盟
梦想的旅途25 小时前
企业微信外部群消息自动化:模拟操作与工程化实现路径探讨
运维·服务器
小徐Chao努力5 小时前
Go语言核心知识点底层原理教程【变量、类型与常量】
开发语言·后端·golang
锥锋骚年5 小时前
go语言异常处理方案
开发语言·后端·golang
代码游侠5 小时前
学习笔记——Linux进程间通信(IPC)
linux·运维·笔记·学习·算法
郝学胜-神的一滴5 小时前
Linux C++ 守护进程开发指南
linux·运维·服务器·开发语言·c++·程序人生·性能优化
北城以北88885 小时前
SpringBoot--Redis基础知识
java·spring boot·redis·后端·intellij-idea
superman超哥5 小时前
仓颉语言中并发集合的实现深度剖析与高性能实践
开发语言·后端·python·c#·仓颉