tinyproxy版本1.8.3不支持账号密码验证,而版本1.10以上支持
1、如果不需要鉴权,可以直接通过yum install tinyproxy
安装默认的1.8版本
2、如果需要鉴权,则要使用1.10以上版本
这里选择安装方案2
官方下载安装包页面:
https://github.com/tinyproxy/tinyproxy/releases
以下配置,是多ip服务器(站群服务器)代理的应用场景,可自行更改相关配置。
vim proxy.sh
添加内容
#! /bin/bash
# 配置文件
CONFIG_FILE="/etc/tinyproxy/tinyproxy.conf"
# 下载
wget -P /opt/software https://github.com/tinyproxy/tinyproxy/releases/download/1.11.1/tinyproxy-1.11.1.tar.gz
# 解压
mkdir /opt/module
cd /opt/software
tar -zxvf tinyproxy-1.11.1.tar.gz -C /opt/module/
# 编译安装
cd /opt/module/tinyproxy-1.11.1/
yum -y install gcc
./configure
make
make install
# 添加配置
mkdir /etc/tinyproxy
#cp /usr/local/etc/tinyproxy/tinyproxy.conf /etc/tinyproxy/tinyproxy.conf
echo "User nobody" >> $CONFIG_FILE
echo "Group nobody" >> $CONFIG_FILE
echo "Port 8888" >> $CONFIG_FILE
echo "BindSame yes" >> $CONFIG_FILE
echo "Timeout 20" >> $CONFIG_FILE
echo "DefaultErrorFile \"/usr/local/share/tinyproxy/default.html\"" >> $CONFIG_FILE
echo "StatFile \"/usr/local/share/tinyproxy/stats.html\"" >> $CONFIG_FILE
echo "LogFile \"/var/log/tinyproxy/tinyproxy.log\"" >> $CONFIG_FILE
echo "LogLevel Info" >> $CONFIG_FILE
echo "MaxClients 500" >> $CONFIG_FILE
echo "ViaProxyName \"tinyproxy\"" >> $CONFIG_FILE
echo "BasicAuth admin 123456" >> $CONFIG_FILE
# 创建日志
mkdir /var/log/tinyproxy
touch /var/log/tinyproxy/tinyproxy.log
chmod 777 /var/log/tinyproxy/tinyproxy.log
echo '启动'
ps -ef|grep tinyproxy|grep -v grep|awk '{print "kill -9 "$2}'|sh
nohup tinyproxy -d -c /etc/tinyproxy/tinyproxy.conf > /dev/null 2>&1 &
添加权限
chmod 777 proxy.sh
运行proxy.sh
sh proxy.sh
检测
tinyproxy -v
如果上面的一键安装配置成功运行,下面的配置参考一下就行。
vim /etc/tinyproxy/tinyproxy.conf
主要配置内容
# 用户和组
User nobody
Group nobody
# 监听端口
Port 8888
# 在多网卡的情况下,设置出口 IP 是否与入口 IP 相同。默认情况下是关闭的
BindSame yes
# 超时时间
Timeout 20
DefaultErrorFile "/usr/local/share/tinyproxy/default.html"
StatFile "/usr/local/share/tinyproxy/stats.html"
# 指定日志位置
LogFile "/var/log/tinyproxy/tinyproxy.log"
LogLevel Info
# 设置最大客户端链接数
MaxClients 500
ViaProxyName "tinyproxy"
# 权限校验
BasicAuth admin 123456
启动进程
由于正常启动会出现错误,日志不能正常输出。
tinyproxy -c /etc/tinyproxy/tinyproxy.conf
WARNING: logging deactivated (can't log to stdout when daemonized)
所以,采用nohup来指定日志文件,不嫌麻烦的可以使用Supervisor来管理进程。
准备日志文件
mkdir /var/log/tinyproxy
touch /var/log/tinyproxy/tinyproxy.log
chmod 777 /var/log/tinyproxy/tinyproxy.log
后台运行
nohup tinyproxy -d -c /etc/tinyproxy/tinyproxy.conf >/var/log/tinyproxy/tinyproxy.log 2>&1 &
vim /usr/bin/tp
#!/bin/bash
if [ $# -lt 1 ]
then
echo "No Args Input..."
exit ;
fi
case $1 in
"start")
echo " =================== 启动 ==================="
nohup tinyproxy -d -c /etc/tinyproxy/tinyproxy.conf > /dev/null 2>&1 &
;;
"stop")
echo " =================== 关闭 ==================="
ps -ef|grep tinyproxy|grep -v grep|awk '{print "kill -9 "$2}'|sh
;;
"restart")
echo " =================== 重启 ==================="
ps -ef|grep tinyproxy|grep -v grep|awk '{print "kill -9 "$2}'|sh
nohup tinyproxy -d -c /etc/tinyproxy/tinyproxy.conf > /dev/null 2>&1 &
;;
"status")
echo " =================== 状态 ==================="
ps -ef|grep tinyproxy|grep -v grep
;;
*)
echo "Input Args Error..."
;;
esac
添加权限
chmod 777 /usr/bin/tp
测试脚本
tp start
tp stop
tp status
tp restart
查看日志
tail -f /var/log/tinyproxy/tinyproxy.log
可以用以下命令查看服务器全部ip
hostname -I
# 不加验证参数不会正常返回
curl -x http://127.0.0.1:8888 http://httpbin.org/get
Proxy Authentication Required
# 正常返回
curl -x http://admin:123456@127.0.0.1:8888 http://httpbin.org/get
注意,如果外部测试无反应,请检测是否开通服务器安全组和防火墙的8888端口。
iptables开放8888端口
iptables -A INPUT -p tcp --dport 8888 -j ACCEPT
https://cloud.tencent.com/developer/article/1475747
https://blog.csdn.net/mouday/article/details/106281093