CentOS服务器上用Squid搭建带认证的HTTP代理最简单便捷的命令方法:
下面俩行代码直接复制占用上去即可使用
# 安装必要软件
sudo yum install -y squid httpd-tools
# 生成密码文件(用户名: yuanxi,密码: blog)
echo "yuanxi:$(openssl passwd -apr1 blog)" | sudo tee /etc/squid/passwords >/dev/null
# 覆盖Squid配置文件
sudo tee /etc/squid/squid.conf <<'EOF'
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated
http_access deny all
http_port 3128
EOF
# 关闭SELinux(临时生效,重启失效)
sudo setenforce 0
# 开放防火墙
sudo firewall-cmd --permanent --add-port=3128/tcp
sudo firewall-cmd --reload
# 启动服务
sudo systemctl restart squid
sudo systemctl enable squid
#http代理测试命令
curl -x http://yuanxi:blog@$(hostname -I | awk '{print $1}'):3128 https://yuanxiblog.cn
到此测试curl命令没问题后则可以无视下方内容
追加用户:
sudo htpasswd -b /etc/squid/passwords user2 pass2 # 追加用户
sudo squid -k reconfigure #重新加载配置,立即生效
一、关于其中sudo setenforce 0
的作用 该命令的作用是临时将SELinux模式设置为Permissive(宽容模式),含义是:
-
SELinux仍会记录违反策略的行为
-
但不会实际阻止被标记的操作执行
-
重启后会自动恢复默认的Enforcing模式
-
主要用途:用于测试环境,避免安全策略直接阻断服务运行
若当前系统默认SELinux处于Enforcing模式:
不执行setenforce 0
可能引发的问题:
1.Squid访问受限制端口/文件时会触发AVC拒绝
2.代理服务可能无法绑定端口或读取密码文件
3.客户端连接时出现Connection refused
或认证失败
长期解决方案(按优先级排序):
sudo semanage port -a -t squid_port_t -p tcp 3128 # 永久标记端口
sudo setsebool -P squid_connect_any 1 # 允许连接任意外部地址
快速恢复解决方案:
sudo setenforce 0 # 临时关闭
sudo systemctl restart squid
更多推荐内容
- PHP截取内容指定行数之前或之后的内容 11 小时前
- PHP最新获取QQ昵称源码[学习] 17 天前
- 网站从被 K 到恢复收录与排名,我做了这些!! 18 天前
- WordPress当搜索结果为零时,跳转到首页 19 天前
- 突破Nginx中文PDF预览瓶颈:Nginx配置文件与Script脚本解法 19 天前
- 如何查找百度、抖音、微信、微博、小红书、知乎、B站、视频号、快手等7天内最热门话题 21 天前
- 红帽 RHCE 认证精品班30期 26 天前
- QQ群相册下载工具v0.1.4绿色版 27 天前
- 公众号及文章怎么做推荐流量与搜索流量方法揭秘 1 个月前
- 超简约UI外卖券优惠吸粉代码 3 个月前

文章采用: 《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权。
版权声明:本站资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系客服并出示版权证明以便删除!
PHP截取内容指定行数之前或之后的内容
« 上一篇
06-20
扫描全能王APP v6.89.5引领者破解版
下一篇 »
06-19
发表评论