tinyproxy轻量级代理服务器
tinyproxy是一款用于POSIX操作系统的轻量级HTTP/HTTPS代理服务程序,非常小巧快速,便于部署,性能也不差。
仓库:https://github.com/tinyproxy/tinyproxy
文档:https://tinyproxy.github.io/
主要支持下面的功能特性:
- 支持http/https流量代理和转发,https只需简单配置即可
- 支持反向代理和负载均衡,上游服务协议可以是:http、socks4/5
- 支持自定义添加header请求头
- 支持客户端访问控制:按照网段限制和禁止;按照用户名和密码做basic auth
- 支持超时、客户端并发限制,可以配置指定的网卡投递流量
源码编译 & 部署
git clone https://github.com/tinyproxy/tinyproxy.git
cd tinyproxy
./autogen.sh
./configure --prefix=/usr/local/tinyproxy
make
make install
这里安装到/usr/local/tinyproxy目录下,默认的安装目录是: /usr/local,配置文件在 /usr/local/tinyproxy/etc/tinyproxy/tinyproxy.conf
新建文件 /etc/profile.d/tinyproxy.sh
export PATH=$PATH:/usr/local/tinyproxy/bin/
执行source /etc/profile
命令,把tinyproxy添加到$PATH路径。服务器重启后依然生效。
# 配置文件放置在/etc目录
mv /usr/local/tinyproxy/etc/tinyproxy/tinyproxy.conf /etc/tinyproxy.conf
# 启动
tinyproxy -c /etc/tinyproxy.conf
二进制安装
这里有编译好的二进制文件,直接解压缩即可。
源码 -- tinyproxy-1.11.1.tar.gz
二进制包 -- tinyproxy.tar.gz
# 解压缩到指定目录
tar -zxvf tinyproxy.tar.gz -C /usr/local
基本配置
tinyproxy.conf文件常用的配置如下:
User nobody
Group nobody
# 绑定监听端口号
Port 8608
# 监听的网络接口 默认会监听所有的接口
#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
# 访问来源限制
Allow 127.0.0.1
Allow ::1
Allow 172.16.0.0/24
ViaProxyName "tinyproxy"
# 设置允许的SSL流量端口
ConnectPort 443
ConnectPort 563
代理设置
在需要代理的服务器上进行设置:
export http_proxy=http://proxy.com:8080/
export https_proxy=http://proxy.com:8080/
# 更新一下环境文件
source /etc/profile