百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

分享一款轻量级 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

  1. 通过软件包安装
  • 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

过滤规则配置示例:

  1. 在 /etc/tinyproxy/filter 文件中添加代理允许或拒绝的域名地址。
hi-linux.com

过滤文件中的域名地址也是支持正则表达式的。

\.google\.com$
^hi-linux\.com$
  1. 仅允许代理请求 hi-linux.com 的内容,配置如下:
Filter "/etc/tinyproxy/filter"
FilterURLs On
FilterDefaultDeny Yes
  1. 仅允许代理请求除 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/

如果出现对应网页的源代码,则证明代理工作正常。

相关推荐

注册hotmail免费邮箱(注册hotmail邮箱需要手机吗)
  • 注册hotmail免费邮箱(注册hotmail邮箱需要手机吗)
  • 注册hotmail免费邮箱(注册hotmail邮箱需要手机吗)
  • 注册hotmail免费邮箱(注册hotmail邮箱需要手机吗)
  • 注册hotmail免费邮箱(注册hotmail邮箱需要手机吗)
win8系统对硬件的要求(win8.1 硬件要求)

需要硬件,音响的提升不太大,大灯看个人对灯光的需求,常开豪车的可能会觉得iq灯更舒服,其实标配的大灯满足日常生活没问题了。驾驶辅助包目前不选配的情况下车道保持可以通过刷机刷出来,后期应该能实现交通标志...

电信宽带办理套餐(电信宽带办理套餐最低多少)

1、每月99元(全国流量20G):送100M宽带+全国流量20G+300分钟通话+光猫免费+4K高清机顶盒免费+免费上门+免费安装(限城中村或部分竞争小区办理)2、每月119元(全国流量40G):送3...

qq号注册微信(qq号注册微信账号教程)

1、直接进入微信,点击下方的注册。2、它要我们输入电话号,别担心,我们按它的来,之后这个手机号是可以解除绑定的,不会有任何影响。3、之后会发验证码给你,输入后就能到这个界面,我的手机是自动输入并跳转到...

windows10录屏快捷键(windows10录屏快捷键ctrl加什么)
  • windows10录屏快捷键(windows10录屏快捷键ctrl加什么)
  • windows10录屏快捷键(windows10录屏快捷键ctrl加什么)
  • windows10录屏快捷键(windows10录屏快捷键ctrl加什么)
  • windows10录屏快捷键(windows10录屏快捷键ctrl加什么)
硬盘调整分区大小工具
  • 硬盘调整分区大小工具
  • 硬盘调整分区大小工具
  • 硬盘调整分区大小工具
  • 硬盘调整分区大小工具
电脑分辨率在哪里调(win10分辨率怎么调)

调整电脑分辨率的方法取决于您使用的是Windows、macOS还是Linux操作系统。以下是针对这三种操作系统的调整分辨率方法:1.Windows操作系统:-在桌面空白处右键单击,选择"显...

rar暴力破解器安卓版(暴力破解器压缩包)

安卓手机锁屏密码忘了,解决方法步骤如下:1.首先拆下手机电池,等待三秒钟以上时再装回电池,同时按下“音量上”和“电源键”并保持10秒钟以上时,手机自动进入recovery模式。2.在recovery模...

电脑开机慢是硬盘问题吗(电脑开机慢是硬盘坏了吗)

  电脑开机有两个含义,第一个就是通电,显示器上有显示;第二个是进系统。  电脑不装硬盘,只能达到第一种效果,系统肯定是进不去的,因为系统是装在硬盘上的,没有硬盘,就没有系统,也就启动不了。  当然,...

磁力种子(磁力种子搜索器怎么用)

BT的种子是指在BitTorrent文件分享协议中的一个文件或者目录,其中包含有一个或多个文件的元数据,例如文件名、大小、哈希值等信息。一个种子文件可以看做是一个索引,用来描述一个或多个文件的组成和布...

app store直接下载(app store直接下载软件)
  • app store直接下载(app store直接下载软件)
  • app store直接下载(app store直接下载软件)
  • app store直接下载(app store直接下载软件)
  • app store直接下载(app store直接下载软件)
windows图片查看器无法显示此图片

是因为没有正确配置Windows颜色系统默认设备文件造成的,解决该问题的具体步骤是:打开控制面板,查看方式选择“大图标”,单击打开“颜色管理”对话框,单击选中“高级”选项卡,将Windows颜色系统设...

ghost xp下载g(ghost Xp下载16)
  • ghost xp下载g(ghost Xp下载16)
  • ghost xp下载g(ghost Xp下载16)
  • ghost xp下载g(ghost Xp下载16)
  • ghost xp下载g(ghost Xp下载16)
深度技术的win7系统怎么样(深度技术win7系统怎么安装教程)

所谓的纯净的win7系统应该说的就是原版的win7系统,相对于Ghost版的系统来说,原版的win7系统是微软发布的未经过第三方修改过的纯净版系统,安装好后,它所有的功能和软件都是微软官方的,不会添加...

电脑怎么安全模式开机(电脑怎么安全模式开机启动)

电脑开机后进入安全模式的步骤如下:重启电脑:在开机时,狂按F8键,即可进入启动菜单选择界面。选择安全模式:在启动菜单选择界面中,可以看到三个版本的安全模式可以选择,方向键上下调整,然后按下回车键即可。...

取消回复欢迎 发表评论: