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

如何在Akamai中仅允许指定查询参数传递至源站并移除其他参数?

在Akamai中保留指定查询参数并过滤其余参数的实现方案

这种需求很常见,Akamai有两种主要方式可以实现,不用依赖只能全删参数的Remove Outgoing Request Parameters功能:

方式一:使用Property Manager规则构建器(适合静态参数列表)

  • 创建新规则,将触发条件设置为你需要应用该逻辑的路径、域名或其他匹配条件
  • 在规则中添加修改查询字符串行为,选择「保留指定参数」的模式
  • 在参数输入框中逐个填入你需要保留的参数名(比如utm_source、content_id),多个参数用逗号分隔
  • 保存并发布规则,生效后非指定参数会被自动过滤,不会传递到源站

方式二:使用EdgeWorkers脚本(适合动态/复杂逻辑场景)

如果需要更灵活的控制(比如根据请求路径动态调整允许的参数,或处理参数大小写问题),可以用EdgeWorkers脚本实现:

export async function onClientRequest(request) {
  // 定义允许保留的参数列表
  const allowedParams = ['utm_source', 'content_id', 'lang'];
  const urlObj = new URL(request.url);
  const filteredSearchParams = new URLSearchParams();

  // 遍历允许的参数,保留存在的参数值
  allowedParams.forEach(param => {
    if (urlObj.searchParams.has(param)) {
      filteredSearchParams.append(param, urlObj.searchParams.get(param));
    }
  });

  // 更新请求URL的查询字符串
  urlObj.search = filteredSearchParams.toString();
  request.url = urlObj.toString();
}
  • 将脚本上传并部署到你的EdgeWorkers实例
  • 在Property Manager中创建规则,关联该EdgeWorkers脚本到对应的请求阶段即可

注意事项

  • 测试时直接发起带多余参数的请求,检查源站日志确认非允许参数是否被过滤
  • Property Manager的参数匹配默认是大小写敏感的,若需要忽略大小写,建议用EdgeWorkers脚本处理
  • 若参数值包含特殊字符,EdgeWorkers的URLSearchParams会自动处理编码,无需额外操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 03:24:52