如何调整Squid请求的URL长度?

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环境

如何用Oracle Linux 9.x编译Squid 7.x?

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

没有评论

发表回复

Linux基础
如何解决Moodle站点不可用问题?

1 前言 一个问题,一篇文章,一出故事。 今天笔者Moodel遇到访问遇到如下提示, This si …

Linux基础
如何创建solr集合?

1 前言 一个问题,一篇文章,一出故事。 笔者遇到同事使用Web创建solr的集合报错,详细错误如下 …

Linux基础
如何部署单节点Oracle Linux 9.x solr?

1. 理论基础 1.1 Solr简介 – Solr基于Apache Lucene,它是一 …