分享一款轻量级 HTTP(S) 代理 TinyProxy
off999 2025-03-11 19:52 22 浏览 0 评论
概述
众所周知,我们常用的 Web 服务器 Nginx / Apache 都可以很方便的用来做为正向或反向代理服务器使用。但是它们都并不支持 HTTPS 的正向代理。
Nginx 做为正向代理不支持 HTTPS 的原因是因为 Nginx 没有实现 HTTP 1.1 Connect 方法。隧道的含义大约就是帮助无法完成 TLS 握手的代理服务器透传可以完成 TLS 握手的客户端请求,而不再解析流量中的内容。
TinyProxy 支持以下功能特性:
- 支持匿名模式。
- 支持 HTTPS,可以通过 CONNECT 请求来转发 HTTPS 连接。
- 远程监视:可远程查看日志和访问信息。
- 负载监视:可配置成当负载达到某个程度时,拒绝新的代理请求。
- 访问控制:可设置特定的 IP 地址或者 IP 段才可访问。
- 安全:不需要 root 权限。
- 轻量化:只需要极小的系统资源。
- 支持基于 URL 的过滤。
- 支持透明代理。
- 支持多级代理。
TinyProxy 项目地址:
https://github.com/tinyproxy/tinyproxy
安装 TinyProxy
- 通过软件包安装
- CentOS / RHEL
# 需要 EPEL 仓库
$ yum install -y tinyproxy配置 TinyProxy
TinyProxy 默认配置文件路径为
/etc/tinyproxy/tinyproxy.conf。如果你要自定义配置文件位置,可以在启动 TinyProxy 时 通过 -c 参数来指定。
下面我们来看下几个主要的配置参数:
- User
指定运行 TinyProxy 的用户,默认为 nobody。
User nobody- Group
指定运行 TinyProxy 的用户组,默认为 nobody。
Group nobody- Listen
指定 TinyProxy 绑定的网卡接口,默认是绑定到所有可用的网卡接口的。
#Listen 192.168.0.1如需绑定到指定网卡接口,只需去掉对应的注释并指定网卡对应 IP 地址即可。
Listen 192.168.1.100- Port
指定 TinyProxy 的监听端口, 默认为 8888。
Port 8888- Allow
指定可访问 TinyProxy 设备的 IP 或网段,默认仅允许本机访问。
Allow 127.0.0.1如果你想允许所有人使用该代理,注释 Allow 选项即可。
# Allow 127.0.0.1如果你想增加多个可访问的网段,可以用多个 Allow 选项同时定义不同网段即可。
# 添加多段 IP 地址
Allow 10.10.6.0/24
Allow 192.168.8.0/24
Allow 172.16.1.13- BindSame
在多网卡的情况下,设置出口 IP 是否与入口 IP 相同。默认情况下是关闭的。
例如:服务器上存在 IP 1.2.3.4,当你请求该 IP 对应的 Tinyproxy 代理时,Tinyproxy 也通过 1.2.3.4 做为出口访问目标网站。
#BindSame yes- StartServers
指定 TinyProxy 初始启动的子进程数量, 默认是 10 个。
StartServers 10- MaxClients
设置最大客户端链接数,默认为 100。
MaxClients 100- Logfile
指定日志文件位置, 默认为
/var/log/tinyproxy/tinyproxy.log。
LogFile /var/log/tinyproxy/tinyproxy.log- Syslog
指定 TinyProxy 是否开启 Syslog 来记录日志,默认为关闭的。
#Syslog On注:Logfile 和 Syslog 只能同时启用一个。如果两个都不启用的话 TinyProxy 会将日志直接输出到终端的标准输出。
- PidFile
指定 Pid 文件位置, 默认为
/var/run/tinyproxy/tinyproxy.pid,在 PidFile 文件不存在时会运行失败。
PidFile "/var/run/tinyproxy/tinyproxy.pid"- DisableViaHeader
指定是否在 Header 中显示 Tinyproxy 相关信息,默认是关闭的。如果开启将不会在 Header 中显示 Tinyproxy 相关信息,相当于 Tinyproxy 是隐身模式。
#DisableViaHeader Yes- Filter
指定设置过滤内容文件的位置,默认为 /etc/tinyproxy/filter。
Filter "/etc/tinyproxy/filter"- FilterURLs
设置使用 URL 或是域名方式进行过滤,默认是基于 URL 方式过滤的。域名过滤只检查域名段,URL 过滤则检查整个 URL。
FilterURLs On- FilterExtended
设置使用 POSIX 基本或者扩展的正则表达式来匹配过滤规则,默认为使用基本的。
# FilterExtended On- FilterCaseSensitive
设置是否使用区分大小写的正则表达式,默认为不区分大小写。
#FilterCaseSensitive On- FilterDefaultDeny
设置默认过滤策略。如果将该指令注释掉或设为 No,过滤规则为禁止访问规则。该值默认为 Yes,过滤规则为只允许访问过滤文件中的地址。
FilterDefaultDeny Yes过滤规则配置示例:
- 在 /etc/tinyproxy/filter 文件中添加代理允许或拒绝的域名地址。
hi-linux.com过滤文件中的域名地址也是支持正则表达式的。
\.google\.com$
^hi-linux\.com$- 仅允许代理请求 hi-linux.com 的内容,配置如下:
Filter "/etc/tinyproxy/filter"
FilterURLs On
FilterDefaultDeny Yes- 仅允许代理请求除 hi-linux.com 域名以外的内容,配置如下:
Filter "/etc/tinyproxy/filter"
FilterURLs On
FilterDefaultDeny No运行 TinyProxy
- 运行 TinyProxy 非常简单,使用官方提供的脚本即可。
# 启动 TinyProxy
$ service tinyproxy start
# 停止 TinyProxy
$ service tinyproxy stop
# 重启 TinyProxy
$ service tinyproxy restart- 如果服务器有启用防火墙,开放相应的 TinyProxy 端口
$ iptables -I INPUT -p tcp –dport 8888 -j ACCEPT- 查看 TinyProxy 请求日志
$ tail -f /var/log/tinyproxy/tinyproxy.log- 测试代理是否正常工作
$ curl --proxy 192.168.1.100:8888 -k https://www.hi-linux.com/如果出现对应网页的源代码,则证明代理工作正常。
相关推荐
- win8系统对硬件的要求(win8.1 硬件要求)
-
需要硬件,音响的提升不太大,大灯看个人对灯光的需求,常开豪车的可能会觉得iq灯更舒服,其实标配的大灯满足日常生活没问题了。驾驶辅助包目前不选配的情况下车道保持可以通过刷机刷出来,后期应该能实现交通标志...
- 电信宽带办理套餐(电信宽带办理套餐最低多少)
-
1、每月99元(全国流量20G):送100M宽带+全国流量20G+300分钟通话+光猫免费+4K高清机顶盒免费+免费上门+免费安装(限城中村或部分竞争小区办理)2、每月119元(全国流量40G):送3...
- qq号注册微信(qq号注册微信账号教程)
-
1、直接进入微信,点击下方的注册。2、它要我们输入电话号,别担心,我们按它的来,之后这个手机号是可以解除绑定的,不会有任何影响。3、之后会发验证码给你,输入后就能到这个界面,我的手机是自动输入并跳转到...
- 电脑分辨率在哪里调(win10分辨率怎么调)
-
调整电脑分辨率的方法取决于您使用的是Windows、macOS还是Linux操作系统。以下是针对这三种操作系统的调整分辨率方法:1.Windows操作系统:-在桌面空白处右键单击,选择"显...
- rar暴力破解器安卓版(暴力破解器压缩包)
-
安卓手机锁屏密码忘了,解决方法步骤如下:1.首先拆下手机电池,等待三秒钟以上时再装回电池,同时按下“音量上”和“电源键”并保持10秒钟以上时,手机自动进入recovery模式。2.在recovery模...
- 电脑开机慢是硬盘问题吗(电脑开机慢是硬盘坏了吗)
-
电脑开机有两个含义,第一个就是通电,显示器上有显示;第二个是进系统。 电脑不装硬盘,只能达到第一种效果,系统肯定是进不去的,因为系统是装在硬盘上的,没有硬盘,就没有系统,也就启动不了。 当然,...
- 磁力种子(磁力种子搜索器怎么用)
-
BT的种子是指在BitTorrent文件分享协议中的一个文件或者目录,其中包含有一个或多个文件的元数据,例如文件名、大小、哈希值等信息。一个种子文件可以看做是一个索引,用来描述一个或多个文件的组成和布...
- windows图片查看器无法显示此图片
-
是因为没有正确配置Windows颜色系统默认设备文件造成的,解决该问题的具体步骤是:打开控制面板,查看方式选择“大图标”,单击打开“颜色管理”对话框,单击选中“高级”选项卡,将Windows颜色系统设...
- 深度技术的win7系统怎么样(深度技术win7系统怎么安装教程)
-
所谓的纯净的win7系统应该说的就是原版的win7系统,相对于Ghost版的系统来说,原版的win7系统是微软发布的未经过第三方修改过的纯净版系统,安装好后,它所有的功能和软件都是微软官方的,不会添加...
- 电脑怎么安全模式开机(电脑怎么安全模式开机启动)
-
电脑开机后进入安全模式的步骤如下:重启电脑:在开机时,狂按F8键,即可进入启动菜单选择界面。选择安全模式:在启动菜单选择界面中,可以看到三个版本的安全模式可以选择,方向键上下调整,然后按下回车键即可。...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
系统u盘安装(win11系统u盘安装)
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
