You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Squid配置中url_regex无法过滤MP4文件的问题求助

Squid多媒体过滤规则失效排查与修复

核心问题:规则顺序错误

Squid的http_access规则是从上到下依次匹配,匹配即终止。你当前的配置中,http_access allow test_network写在deny规则之前,导致test_network网段的所有请求直接被允许,后续的多媒体过滤规则完全不会被执行。

修正步骤

  1. 调整规则顺序
    将拒绝规则放在允许规则之前,确保先拦截多媒体请求,再放行其他合法流量:
acl test_network src 100.70.224.0/23

# 匹配多媒体文件后缀,忽略大小写
acl media_url url_regex -i \.mp4$ \.mkv$ \.webm$
# 拒绝test_network网段访问多媒体文件
http_access deny media_url test_network

# 放行test_network网段的其他请求
http_access allow test_network
  1. 优化正则表达式
  • 去掉^http://前缀:Squid的url_regex会匹配完整请求URL,但部分场景(如HTTPS请求、带参数的URL)会导致前缀匹配失效,直接匹配后缀\.mp4$更通用,还能覆盖http://xxx/file.mp4?param=1这类带参数的URL。
  • 保留-i参数实现大小写不敏感匹配,覆盖.MP4这类大写后缀的情况。
  1. 验证配置并重启服务
  • 检查配置语法合法性:
squid -k parse
  • 重启Squid使配置生效:
# 基于systemd的系统
systemctl restart squid
# 基于SysVinit的系统
service squid restart
  1. 测试验证
    再次执行你的curl测试命令,正常情况下会收到403 Forbidden响应,说明过滤规则生效。

额外排查点

  • 确认Squid监听端口为8080,与curl代理参数一致;
  • 确认测试机器IP属于100.70.224.0/23网段(范围:100.70.224.0 ~ 100.70.225.255);
  • 若需过滤HTTPS协议的多媒体文件,需启用Squid的SSL Bump功能(解密HTTPS流量),否则url_regex无法匹配HTTPS请求的URL内容。

内容的提问来源于stack exchange,提问作者EisenWang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 03:52:42