网站首页 > 技术文章 正文
本头条号每天坚持更新原创干货技术文章,欢迎关注本头条号"Linux学习教程",公众号名称“Linux入门学习教程"。
如需学习视频,请复制以下信息到手机浏览器或电脑浏览器上:
zcwyou.com/h5
1. 前言
本文主要讲解如何在Linux上使用tinyproxy搭建HTTP/HTTPS代理器。
tinyproxy是一个HTTP/HTTPS代理。它是轻量级的、快速的、非常容易配置的,而且是一个开源的代理服务。Tinyproxy也可以配置为反向代理。它很适合用作具有较少系统资源的小型代理,因为它是非常轻量级的。
2. Tinyproxy特性
- Tinyproxy很容易配置和修改。
- 较小的内存占用意味着它在操作系统上占用很少的空间。它的内存占用几乎是2MB。
- 匿名模式允许授权允许和不允许的单个HTTP头。
- 通过阻止未经授权的用户进行访问控制。
- 过滤是指用户通过创建黑白名单来阻断或允许某个域。
- 通过控制从HTTPS/HTTP服务器传入和传出的数据实现隐私特性。
3. 在Ubuntu系统中安装TinyProxy
在Ubuntu系统中输入以下命令更新系统到最新:
sudo apt-get update
sudo apt-get upgrade -y
更新完成后,执行以下命令安装Tinyproxy。
sudo apt-get -y install tinyproxy
完成Tinyproxy的安装后。要启动和检查Tinyproxy的状态,输入以下命令:
sudo systemctl tinyproxy start
sudo systemctl tinyproxy status
4. 定义配置文件
Tinyproxy配置文件位于以下路径:
etc/tinyproxy/tinyproxy.conf
使用vim文本编辑器编辑它:
sudo vim /etc/tinyproxy/tinyproxy.conf
如果要允许第三方设备使用本代理服务,在配置文件中找到以下这行:
Allow 127.0.0.1
把127.0.0.1修改为客户端的IP地址或者一个IP范围,比如192.168.1.0/24
接下来找到Listen 192.168.0.1,修改为本服务器连接外网的网卡IP地址,使用ip addr查看本机网卡的IP地址。这步操作主要是对外开放代理服务,不然第三方设备无法使用该服务器的代理服务。
5. 配置tinyproxy授权
在tinyproxy中,您可以设置授权,以便只有那些被授权的用户才能访问tinyproxy。要设置授权凭证,转到#BasicAuth用户密码行。取消对这一行的注释,并在这一行的末尾写下您的密码。
BasicAuth user password [在这里设置一个密码]
6. 配置过滤器
你也可以通过使用tinyproxy来添加流量过滤器。
找到Filter "/etc/tinyproxy/filter" 这行内容,取消对这一行的注释,您可以把过滤器配置文件路径指定为一个域名。
在后面的行修改成以下这样:
"FilterExtanded On"
"FilterDefaultDeny Yes".
保存退出文件。现在假设您把过滤器放在本地,路径为etc/tinyproxy/filter,接下来就要编辑过滤器了。
sudo vim etc/tinyproxy/filter
逐行添加域名作为黑名单。
格式如下:
域名1
域名2
写好黑名单后,保存退出。
7. 为tinyproxy服务配置防火墙
默认情况下,tinyproxy的默认端口号为8888。上述的配置文件中可以修改端口号,假设端口号为8888,
执行以下2条命令开放该端口,
firewall-cmd --zone=public --add-port=8888/tcp
firewall-cmd --zone=public --add-port=8888/tcp --permanent
8. 开启tinyproxy服务
执行以下命令使新配置立即生效和下次开机自动启动服务:
systemctl restart tinyproxy
systemctl enable tinyproxy
9. 设置tinyproxy服务的使用时间
结合Linux的crontab计划任务管理程序设置tinyproxy的服务时间,即设置关闭和启用的时间段。
10. 总结
Tinyproxy是一个设置HTTP/HTTPS代理服务的简单而有用的工具。它适用于小型服务器,但如果您希望在大型的网络上运行代理服务器,您可能需要配置squid代理服务。我们在这里只分享了一些技巧,但它已经足够应付日常的运维工作了。通过本文,您已经了解了如何安装、配置和使用tinyproxy,试试使用tinyproxy作为您的代理服务器吧。
如果喜欢本文,欢迎转发。本文已同步至博客站,尊重原创,转载时请在正文中附带以下链接:
https://www.linuxrumen.com/fwqdj/2089.html
猜你喜欢
- 2024-11-04 /etc/passwd格式说明(etcpasswd 详解)
- 2024-11-04 centos7关闭防火墙firewalld 绝对不能在服务器上执行命令
- 2024-11-04 Linux系统搭建NFS网络文件系统,实现文件共享
- 2024-11-04 「神马课堂」Linux操作系统中主DNS服务器的配置(基于CentOS 7)
- 2024-11-04 Linux命令笔记-01(linux命令教程)
- 2024-11-04 Linux更改ssh端口的详细教程(提升系统安全)
- 2024-11-04 如何加固Linux系统?8种操作示例(linux主机加固)
- 2024-11-04 如何解决 Open /etc/postfix/main.cf: Permission denied ?
- 2024-11-04 Linux服务管理之Systemd配置详解,呕心沥血,匠心之作
- 2024-11-04 ALMA Linux 9部署 Zabbix7.0 LTS 单服务器架构 PostgreSQL Nginx
- 最近发表
-
- 使用Knative部署基于Spring Native的微服务
- 阿里p7大佬首次分享Spring Cloud学习笔记,带你从0搭建微服务
- ElasticSearch进阶篇之搞定在SpringBoot项目中的实战应用
- SpringCloud微服务架构实战:类目管理微服务开发
- SpringBoot+SpringCloud题目整理
- 《github精选系列》——SpringBoot 全家桶
- Springboot2.0学习2 超详细创建restful服务步骤
- SpringCloud系列:多模块聚合工程基本环境搭建「1」
- Spring Cloud Consul快速入门Demo
- Spring Cloud Contract快速入门Demo
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)