Linux基础
1 前言
一个问题,一篇文章,一出故事。
笔者的生产环境使用O365查看邮件发现图片显示异常。
由于O365经过正向代理服务器的,因此使用如下命令检查Squid的日志,
tail -f /var/log/squid/cache.log
发现如下错误提示,
2025/12/12 09:53:21 kid1| parse URL too large (10415 bytes)
current from-client connection: conn15685 local=10.168.0.90:3128 remote=10.168.0.165:33582 FD 139 flags=1
2025/12/12 09:53:21 kid1| parse URL too large (10413 bytes)
current from-client connection: conn15697 local=10.168.0.90:3128 remote=10.168.0.165:33592 FD 141 flags=1
2025/12/12 09:53:21 kid1| parse URL too large (10415 bytes)
current from-client connection: conn15709 local=10.168.0.90:3128 remote=10.168.0.165:33598 FD 143 flags=1
报错的原因是O365的图片URL超出RFC7230的标准长度8192,即遇到非标准长度的URL,因此,笔者需要通过修改Squid的默认定义解决此问题。
2 最佳实践
2.1 Squid环境
2.2 修改设定
2.2.1 修改Squid的编译参数
cd ~/squid-7.3 vim ./src/defines.h
修改如下参数,
#define MAX_URL 65536
2.2.2 重新编译Squid
make clean make make install
2.2.3 重启服务使配置生效
systemctl restart squid systemctl status squid
2.2.4 监视日志并测试访问
tail -f /var/log/squid/cache.log
参阅文档
=================
https://wiki.squid-cache.org/KnowledgeBase/UrlTooLarge
https://ml-archives.squid-cache.org/squid-users/2018-July/018689.html
https://bugs.squid-cache.org/show_bug.cgi?id=4422
没有评论