ubuntu使用squid搭建代理
安装squid
//检查是否安装squid which squid // apt update sudo apt install squid
配置squid的配置文件squid.conf
//备份squid默认配置文件 cp /etc/squid/squid.conf squid.conf.bak //修改squid.conf vi squid.conf
因为我第一次安装后,又把squid给卸载了,不知道改动了什么地方,再次安装squid的时候,/etc下没有自动生成squid.conf,所以又去根据squid的版本,又去squid官网找的默认配置,改为如下:
1 2 3 4 5 6 7 8 9 | http_port 8128 #端口号 cache_mgr xxx@gmail.com #Squid 崩溃时邮件发送地址 # http_access deny all cache_dir null /tmp #配置用户名密码,避免被盗用,后面会生成passwords文件 auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwords auth_param basic realm proxy acl authenticated proxy_auth REQUIRED http_access allow authenticated |
:wq保存,然后检查配置文件语法是否正确
//检查语法: squid -k parse //若不报错,刚说明配置无误 //第一次启动前初始化缓存: squid -z //此命令创建了16个一级子目录
我这里遇到两个错误:
1.WARNING: Could not determine this machines public hostname. Please configure one or set ""visible_hostname"".
在squid.conf配置文件中添加:
visible_hostname squid.packet-pushers.net
2.Squid cache directory not been initialized
好像是squid的缓存目录还没有没有初始化
//重启squid,自动创建缓存目录 sudo service squid restart
创建刚才配置文件中配置的密码,使用htpasswd来创建passwords文件,htpasswd命令在软件包apache2-utils中。
sudo apt install apache2-utils //生成password文件 这里的路径和squid.conf中配置的路径一致 sudo htpasswd -c -d /etc/squid/passwords 自定义用户名 //然后输入两次至少8位的密码,还要保证生成的passwords文件是可读的 sudo chmod o+r /etc/squid/passwords
启动服务
// 开机启动 systemctl enable squid.service sudo service squid start //重启服务 squid restart //关闭服务 squid stop
查询端口状态
netstat -tnl //查看3128端口是否开启 netstat -tnl | grep 3128
查看squid访问日志
tail -f /var/log/squid/access.log
注意:如果配置文件配置错误,修改后squid需要重新读取配置文件,然后重启squid
squid -k parse squid -k reconfig squid restart
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· 程序员常用高效实用工具推荐,办公效率提升利器!
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 【译】WinForms:分析一下(我用 Visual Basic 写的)