Linux环境使用Tinyproxy代理详解
作者:咕咚杨
Tinyproxy是一个轻量级、高效的HTTP代理服务器,适用于防火墙后面共享Internet连接或大型网络中的多用户HTTP访问,它支持多种平台,配置简单易懂,适合资源有限的环境
简介
Tinyproxy是一个开源、轻量级的HTTP代理服务器,它旨在提供一种简单的方法来在防火墙后面共享Internet连接,或者在大型网络中为多个用户提供HTTP访问
特点
- 轻量级:Tinyproxy非常小巧,安装包只有几十MB大小,因此非常适合在资源有限的环境中使用
- 高效:Tinyproxy使用高效的内存管理和多线程技术,能够快速响应客户端请求并处理大量并发连接
- 易于管理:Tinyproxy的配置文件非常简洁易懂,即使没有太多网络知识的人也可以轻松上手
- 支持多种平台:Tinyproxy支持多种操作系统,包括Linux、macOS和Windows等
安装
# centos sudo yum install tinyproxy # ubuntu sudo apt install tinyproxy # docker安装 1. 无配置持久化 docker run -d -p 8787:8888 --name tinyproxy vimagick/tinyproxy:latest 2. 加配置持久化 docker run -d -p 8787:8888 -v /etc/tinyproxy/tinyproxy.conf:/etc/tinyproxy/tinyproxy.conf -v /etc/tinyproxy/filter:/etc/tinyproxy/filter --name tinyproxy vimagick/tinyproxy:latest
配置
# vim /etc/tinyproxy/tinyproxy.conf
涉及修改块:
# 注释掉这一行 # Allow 127.0.0.1 # 修改端口号 Port 8787
# 参数解释:
- Allow 是允许访问的主机IP,不写就是允许所有主机访问
- Port 是代理访问端口号
配置扩展
# 配置访问站点限制,打开以下配置 :
Filter "/etc/tinyproxy/filter" FilterURLs On FilterExtended On FilterCaseSensitive On FilterDefaultDeny No
# 参数解释:
FilterDefaultDeny :
- 当这个参数设置为No 或者 被注释掉,就代表filter文件内的内容为黑名单
- 当这个参数设置为Yes 就代表filter内的内容为白名单。
示例:
# 当FilterDefaultDeny值设置为Yes时,只可以通过代理访问以下网站,即白名单
cat /etc/tinyproxy/filter mp.csdn.net www.baidu.com
启动
systemctl enable tinyproxy.service systemctl status tinyproxy.service systemctl start/stop/restart tinyproxy.service
验证:
curl -v --proxy http://192.168.11.1:8787 www.baidu.com
日志路径:
/var/log/tinyproxy/tinyproxy.log
应用实践
docker代理
# 配置 vi /etc/systemd/system/docker.service.d/http-proxy.conf [Service] Environment = "http_proxy=http://192.168.11.1:8787" "NO_PROXY=localhost,127.0.0.1" Environment = "https_proxy=http://192.168.11.1:8787" "NO_PROXY=localhost,127.0.0.1" # 验证 docker pull nginx:latest
全局代理
# 配置 vi /etc/profile export http_proxy=http://192.168.11.1:8787/ export https_proxy=http://192.168.11.1:8787/ 使环境变量生效 # source /etc/profile # 验证 curl www.baidu.com
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
