文章转载于:https://www.cnblogs.com/gezp/p/14962924.html
一、简介
Tinyproxy是一个轻量级的用于POSIX操作系统的http/https代理守护进程。在设计之初就遵循着更快并且更小的原则。在相关的运用案例中,它是一种理想的解决方案,例如在一个需要全部HTTP代理特性的嵌入式部署的案例中。然而,对于需要更大的代理案例来说,它是不可用的。
Tinyproxy本身是小巧的,几乎不需要占用系统资源。安装后,内存占用通常在2M左右,CPU负载随同步连接的数量线性增加(取决于连接的速度)。因此,Tinyproxy可以在一台旧机器上运行,也可以在网络设备上运行,比如基于linux的宽带路由器,而不会对性能产生任何明显的影响。
安装环境:阿里云CentOS7 香港服务器
仓库:https://github.com/tinyproxy/tinyproxy
文档:https://tinyproxy.github.io/
tinyproxy参数不多,很容易理解,主要支持下面的功能特性:
-
- 支持http/https流量代理和转发,https只需简单配置即可
-
- 支持反向代理和负载均衡,上游服务协议可以是:http、socks4/5
-
- 支持自定义添加header请求头
-
- 支持客户端访问控制:按照网段限制和禁止;按照用户名和密码做basic auth
-
- 支持超时、客户端并发限制,可以配置指定的网卡投递流量
二、安装
# centos
sudo yum install tinyproxy
# ubuntu
sudo apt install tinyproxy
三、配置
编辑tinyproxy的配置文件
sudo vim /etc/tinyproxy/tinyproxy.conf
1.更改端口,默认8888。可以更改为自己喜欢的端口,也可不修改,直接使用8888端口
2.修改允许连接代理的ip。默认只允许本地。
找到"Allow
"字样,修改其后的ip,如有多个,可写多个Allow。这里选择注释掉,允许所有ip连接。
3.开启服务
#启动
sudo systemctl start tinyproxy.service
sudo systemctl stop tinyproxy.service
sudo systemctl status tinyproxy.service
sudo systemctl restart tinyproxy.service
4.关闭防火墙或开放端口访问
方式1:关闭防火墙
/etc/init.d/iptables stop
方式2:开放端口访问
iptables -A INPUT -p tcp --dport 12801 -j ACCEPT
重启防火墙
/etc/init.d/iptables restart
注意:若采用的阿里云、腾讯云、AWS等云服务器,记得要在安全策略里开放端口号
在内网服务器执行
curl -x <代理IP>:<PORT> www.baidu.com
curl -x 127.0.0.1:12801 google.com
可以看到成功拉取了谷歌的页面信息,说明我们的配置是成功。
正常访问,则成功代理
5.使用
如果要保持长期的代理可以写入系统的环境配置文件,否则直接在终端输入即可
export http_proxy='http://XXX.XXX.XXX.XXX:8888'
export https_proxy='http://XXX.XXX.XXX.XXX:8888'