Tinyproxy支持权限校验Basic HTTP Authentication

tinyproxy版本1.8.3不支持账号密码验证,而新版本1.10.0支持

1、如果不需要鉴权,可以直接通过yum安装1.8版本

2、需要鉴权则要使用1.10版本,yum安装的最新版是1.8,只能通过源码安装

一、yum安装1.8.3

# 安装
$ yum install tinyproxy

$ tinyproxy -v
tinyproxy 1.8.3

# 启动 start|stop|status|restart
$ service tinyproxy start

# 卸载
$ yum erase tinyproxy

二、编译安装1.10.0

下载安装包页面
https://github.com/tinyproxy/tinyproxy/releases

找到最新版本
Version 1.10.0 (2020-05-20)

看到新版本的介绍,已经增加了验证

Add support for basic HTTP authentication

1、安装最新版

wget https://github.com/tinyproxy/tinyproxy/releases/download/1.10.0/tinyproxy-1.10.0.tar.gz

tar -zxvf tinyproxy-1.10.0.tar.gz

cd tinyproxy-1.10.0

# 编译安装
./configure && 
make && 
make install

$ which tinyproxy
/usr/local/bin/tinyproxy

$ tinyproxy -v
tinyproxy 1.10.0

如果发现tinyproxy的版本没有变化,则删除文件重新进行编译安装

2、修改配置
/etc/tinyproxy/tinyproxy.conf

# 注释掉这行,允许所有ip访问
# Allow 127.0.0.1

# 权限校验
BasicAuth user 123456

如果配置文件不存在,则搜索一下配置文件路径

$ find / -name tinyproxy.conf

# 拷贝一份配置文件
$ cp tinyproxy.conf /etc/tinyproxy/tinyproxy.conf

3、启动

# 启动(不采用后台启动,方便调试)
$ tinyproxy -d -c /etc/tinyproxy/tinyproxy.conf

# 指定配置文件启动(后台启动)
$ tinyproxy -c /etc/tinyproxy/tinyproxy.conf

# 杀掉进程
$ ps -ef|grep tinyproxy|grep -v grep|awk '{print "kill -9 "$2}'|sh

4、测试

# 不加验证参数不会正常返回
$ curl -x http://127.0.0.1:8888 www.baidu.com
Proxy Authentication Required

# 正常返回
$ curl -x http://user:123456@127.0.0.1:8888 www.baidu.com

遇到的问题

1、之前通过yum安装过1.8版本,又通过编译安装了1.10版本,版本号没有变化
解决:
将tinyproxy彻底删除后重新编译安装

$ find / -name tinyproxy

2、配置文件不生效
看下是不是有多份配置文件,最好通过-c指定配置文件

附:启动关闭管理脚本 service.sh

#!/bin/bash

# 启动命令
function start(){
    echo "start..."

    /usr/local/bin/tinyproxy -c /etc/tinyproxy/tinyproxy.conf

    echo "start successful" $(date "+%Y-%m-%d %H:%M:%S")
    return 0
}

# 停止命令
function stop(){
    echo "stop..."

    ps -ef|grep tinyproxy|grep -v grep|awk '{print "kill -9 "$2}'|sh

    echo "stop successful" $(date "+%Y-%m-%d %H:%M:%S")
    return 0
}

# 状态
function status(){

    ps -ef|grep tinyproxy|grep -v grep

    return 0
}


case $1 in
"status")
    status
    ;;
"start")
    start
    ;;
"stop")
    stop
    ;;
"restart")
    stop && start
    ;;
*)
    echo "请输入: start, stop, restart, status"
    ;;
esac

使用方式

bash service.sh start
bash service.sh stop
bash service.sh status
bash service.sh restart
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值