CentOS安装squid代理。用于代理转发微信,钉钉接口。解决IP白名单问题
安装squid
Markup 全选
sudo yum install squid -y
设置开机启动
Markup 全选
systemctl enable squid.service
配置squid
修改端口号
Markup 全选
http_port 0.0.0.0:31288
注意,如果不加0.0.0.0的话,可能外网无法访问这个代理
添加密码认证
找到 http_access deny all
在前面添加
Markup 全选
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm hehe
auth_param basic credentialsttl 2 hours
acl myproxy_User proxy_auth REQUIRED # 验证用户
http_access allow myproxy_User # 运行该用户
# 增加2句隐藏真实ip变成匿名代理 这是squid 3.1的写法
via off
forwarded_for delete
squid 用户名密码认证
如果你想让用户使用之前,对其身份进行验证。你可能会用到squid的基本认证特性。
这里我们会用到一个工具 httpd-tools
,其包含了htpasswd指令用于创建加密密码文件。使用如下指令安装:
Markup 全选
yum -y install httpd-tools
或
yum -y install httpd
生成密码文件
Markup 全选
touch /etc/squid/passwd && chown squid /etc/squid/passwd
添加认证用户
Markup 全选
htpasswd /etc/squid/passwd myproxy_User
命令行会询问输入密码和一次确认密码,输入就是。请记住,这个密码是myproxy_User 用户的。
默认htpasswd使用MD5给密码加密的,存储的当然也就是MD5哈希值。
查看用户/密码
cat /etc/squid/passwd
用户和密码都就位了,接着我们向squid配置文件内添加允许授权用户访问。在安全端口设置下方加入以下配置行
接得修改完配置重启squid服务。重启后生效。
启动服务
Markup 全选
systemctl start squid.service
查看服务运行的端口
Markup 全选
netstat -ntpl
可以看到3128已经在运行服务了
这时别忘了防火墙把3128端口打开
Markup 全选
# 永久放行 TCP 31288 端口
sudo firewall-cmd --permanent --add-port=31288/tcp
# 重新加载防火墙配置
sudo firewall-cmd --reload
# 查看是否生效
sudo firewall-cmd --list-ports
代理测试
Markup 全选
curl -x "https://admin:abcd%402025@120.77.244.205:31288" "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=1000002&corpsecret=****"
注意密码如果出现@符号需要转换为%40
版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
post 张国生