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

如何使用Squid正则表达式ACL排除特定子域名?

Squid配置:拦截域名但排除特定子域名

要实现拦截所有domain.com相关域名,仅允许test.demo.domain.com这类包含demo的测试子域访问,由于GNU正则不支持负向前瞻语法,你可以通过拆分ACL规则的方式来实现,逻辑更清晰且易于维护:

配置步骤

  1. 先创建允许测试子域的ACL,匹配包含demo.domain.com的域名:
    acl allow_demo dstdom_regex demo\.domain\.com
    
  2. 再创建拦截生产域名的ACL,匹配所有以domain.com结尾的域名:
    acl deny_domain dstdom_regex domain\.com$
    
  3. 设置访问控制规则(Squid规则按从上到下顺序匹配,匹配即生效):
    http_access allow allow_demo
    http_access deny deny_domain
    http_access allow all
    

原理说明

  • 所有访问test.demo.domain.com的请求会先被allow_demo规则匹配,直接允许通过,不会触发后续的拒绝规则
  • 其他如test.domain.com这类不包含demo的domain.com域名,会被deny_domain规则拦截
  • 最后一条http_access allow all保证非domain.com的其他域名正常访问

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 12:42:25