tinyproxy轻量代理服务器安装
tinyproxy是一款用于POSIX操作系统的轻量级HTTP/HTTPS代理服务程序,非常小巧快速,便于部署,性能也不差,因此适合在嵌入式设备上使用,tinyproxy的仓库和文档链接分别是:
仓库:https://github.com/tinyproxy/tinyproxy
文档:https://tinyproxy.github.io/
tinyproxy参数不多,很容易理解,主要支持下面的功能特性:
1. 支持http/https流量代理和转发,https只需简单配置即可
2. 支持反向代理和负载均衡,上游服务协议可以是:http、socks4/5
3. 支持自定义添加header请求头
4. 支持客户端访问控制:按照网段限制和禁止;按照用户名和密码做basic auth
5. 支持超时、客户端并发限制,可以配置指定的网卡投递流量
上面基本上就是tinyproxy的全部设置了,可以看到是非常的简单,安装直接克隆或者下载仓库源码,编译即可,具体步骤如下:
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,基本配置如下:
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
上面是一些基本的配置,另外对于日志,pid,用户名密码需要时单独配置即可。
重点说一下Listen配置,这个tinyproxy服务监听的网络接口,也就是说通过什么ip可以访问过来,默认是所有接口,也就是0.0.0.0,所以我这里没有配置。但是Bind的含义是所有代理的流量应该从那个接口发送出去,最常见的就是要配置成访问外网的接口,比如内网交换机的网段是172.16.0.0/24,这里面的机器都是无法访问外网的,但是其中1个机器有两个网卡,网卡192.168.0.0/24可以通过路由器访问到外网,对于具有多个网卡的服务器,需要单独设置Bind的接口,这样所有内网代理的流量都会被转发到这个接口中,其实tinyproxy很多时候就是用在这种内网需要访问互联网的应用场景下。
然后ConnectPort是允许SSL的流量端口,这种对https类型的代理访问很有用,然后其他的配置都很容易理解了。
最后启动服务:
/usr/local/tinyproxy/bin/tinyproxy -c /usr/local/tinyproxy/etc/tinyproxy/tinyproxy.conf
如果觉得路径比较麻烦,将bin加到环境变量path下,然后将tinyproxy.conf放到/etc下即可,启动命令会短很多: tinyproxy -c /etc/tinyproxy.conf
启动后在其他的机器就可以配置http_proxy、https_proxy变量或者修改专门的配置来使用http代理了
tinyproxy轻量代理服务器安装的更多相关文章
- 轻量应用服务器安装 phpMyAdmin
第一步:在phpMyAdmin官方网站http://www.phpmyadmin.net/downloads/下载源码包并解压 cd /usr/local/src wget https://files ...
- 编写轻量ajax组件01-对比webform平台上的各种实现方式
前言 Asp.net WebForm 和 Asp.net MVC(简称MVC) 都是基于Asp.net的web开发框架,两者有很大的区别,其中一个就是MVC更加注重http本质,而WebForm试图屏 ...
- 比Wireshark更轻量、更方便的抓包软件:Charles
转:http://blog.csdn.net/lixing333/article/details/42776187 之前写过一篇通过Wireshark进行抓包,分析网络连接的文章<通过WireS ...
- 采用轻量ServiceMesh实现灰度发布的实践
软件总会有缺陷的,解决问题的同时往往会引入新的问题,关键是看这些问题是否在我们的控制范围内,“灰度发布”就是让问题受控的方法之一. 前言 我们的 CTO 经常说:“研发团队最首要的任务是提供稳定的服务 ...
- 阿里云轻量应用服务器 配置mysql详解(转载)
1.服务器规格 1.地域选择 考虑个人地址因素因此选择了华南. 2.选择应用镜像/系统镜像 这个应该看个人需求,因为我只是想用来放数据库的,所以就随便选了个WordPress. 选好之后购买就完事了, ...
- api-hook,更轻量的接口测试工具
前言 在网站的开发过程中,接口联调和测试是至关重要的一环,其直接影响产品的核心价值,而目前也有许多技术方案和工具加持,让我们的开发测试工作更加便捷.接口作为数据传输的重要载体,数据格式和内容具有多样性 ...
- Raspkate - 基于.NET的可运行于树莓派的轻量型Web服务器
最近在业余时间玩玩树莓派,刚开始的时候在树莓派里写一些基于wiringPi库的C语言程序来控制树莓派的GPIO引脚,从而控制LED发光二极管的闪烁,后来觉得,是不是可以使用HTML5+jQuery等流 ...
- 一种简单,轻量,灵活的C#对象转Json对象的方案
简单,是因为只有一个类 轻量,是因为整个类代码只有300行 灵活,是因为扩展方式只需要继承重写某个方法即可 补充:修正无法处理可空值类型的bug 首先我将这个类称之为JsonBuilder,我希望它以 ...
- 一种简单,轻量,灵活的C#对象转Json对象的方案(续)
本文参考资料 一种简单,轻量,灵活的C#对象转Json对象的方案 [源码]Literacy 快速反射读写对象属性,字段 一段废话 之前我已经介绍了这个方案的名称为JsonBuilder,这套方案最大的 ...
- Dapper.NET——轻量ORM
Dapper.NET使用 http://www.cnblogs.com/yankliu-vip/p/4182892.html 本文目录 Dapper.NET使用 1.为什么选择Dapper 2.以Da ...
随机推荐
- ohmyposh 安装 - 基于 powershell7.2.1 - 最后改成 profile自定义
今天偶然下载了 powershell7.2.1 https://mydown.yesky.com/pcsoft/468254.html 这想着 vscode也支持了,得装一个 ohmyposh的主题啊 ...
- Android Studio导入Android 4.2.2的WiFi-Display系统源码
Sink源码概述 Miracast Sink端源码最早出现在Android 4.2.2上,通过googlesource可以很方便的查看: https://android.googlesource.co ...
- KALI 安装搜狗输入法
原文网址 https://www.cnblogs.com/liuxingbusi/p/9277127.html ------------------------------------------ 一 ...
- 不用写一行代码!Python最强自动化神器!
1.Playwright介绍 Playwright是一个由Microsoft开发的开源自动化测试工具,它可以用于测试Web应用程序.Playwright支持多种浏览器,包括Chrome.Firefox ...
- Oracle数据库对比MySQL
基本 Oracle默认端口:1521 默认用户:system MySQL默认端口:3306 默认用户:root 连接MySQL: mysql -u root -p -- 输入密码 -- 查询所有数据库 ...
- ChatGPT 指令大全
1.写报告 报告开头 我现在正在 报告的情境与目的 .我的简报主题是 主题 ,请提供 数字 种开头方式,要简单到 目标族群 能听懂,同时要足够能吸引人,让他们愿意专心听下去. 我现在正在修台大的简报课 ...
- JSON.stringify() 第三个参数的使用
语法 JSON.stringify(value[, replacer[, space]]) 参数说明: value: 必需, 要转换的 JavaScript 值(通常为对象或数组). replacer ...
- KingbaseES例程_普通表在线转分区表(基于触发器)
KingbaseES例程_普通表在线转分区表 概述 普通表转分区表,使用视图的替换式触发器,以路由方式,实现在线转移数据. 数据准备 /*普通大表*/ create table tab_single ...
- KingbaseES Json 系列八:Json记录操作函数三
KingbaseES Json 系列八--Json记录操作函数三(JSON_TABLE) JSON 数据类型是用来存储 JSON(JavaScript Object Notation)数据的.King ...
- Echarts入门案例教程
一.定义容器变量并获取页面div元素 1 var chartDom = document.getElementById('chart3'); 二.初始化容器 1 var myChart = echar ...