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

如何在AWS CloudFront中阻止x-http-method-override请求头?

如何在CloudFront中阻止X-HTTP-Method-Override请求头

针对你的架构(CloudFront关联ELB作为HTTPS源站),有两种高效的方式实现阻止X-HTTP-Method-Override请求头的需求:

方法一:使用CloudFront Functions(推荐,轻量低成本)

CloudFront Functions适合处理简单的请求/响应修改逻辑,延迟低且费用低廉,完全满足移除指定请求头的需求:

  1. 创建并编写函数
    登录AWS控制台,进入CloudFront服务,在左侧菜单选择「Functions」,点击「Create function」:
    • 填写函数名称,选择「Development」环境
    • 替换默认代码为以下逻辑(覆盖所有大小写变体的请求头):
    function handler(event) {
        const request = event.request;
        // 删除所有大小写形式的X-HTTP-Method-Override请求头
        delete request.headers['x-http-method-override'];
        delete request.headers['X-HTTP-Method-Override'];
        delete request.headers['X-Http-Method-Override'];
        return request;
    }
    
  2. 发布函数到生产环境
    编写完成后点击「Publish」,选择「Publish to production」确认发布。
  3. 关联到CloudFront分发
    在函数详情页的「Associations」标签,点击「Add association」:
    • 选择你的目标CloudFront分发
    • 触发类型选择「Viewer Request」(在请求到达CloudFront时就移除头)
    • 点击「Add association」完成配置

方法二:使用Lambda@Edge(适合复杂逻辑场景)

如果后续需要扩展更复杂的请求处理逻辑,Lambda@Edge是更灵活的选择:

  1. 创建Lambda函数
    注意必须在us-east-1区域创建Lambda函数:
    • 选择Node.js或Python运行时(示例用Node.js)
    • 编写处理函数:
    exports.handler = async (event) => {
        const request = event.Records[0].cf.request;
        // 检查并移除目标请求头
        if (request.headers['x-http-method-override']) {
            delete request.headers['x-http-method-override'];
        }
        return request;
    };
    
  2. 配置权限并发布版本
    给Lambda函数添加「CloudFront触发器」的权限(可通过控制台自动生成),然后点击「Publish new version」发布一个可用于Edge的版本。
  3. 关联到CloudFront分发
    进入你的CloudFront分发配置,在「Behaviors」标签选择目标行为,点击「Edit」:
    • 在「Lambda function associations」部分,选择「Viewer Request」触发类型,输入刚才发布的Lambda版本ARN
    • 保存修改

验证配置是否生效

可以用curl命令测试:

curl -H "X-HTTP-Method-Override: PUT" -v https://你的CloudFront域名/路径

查看CloudFront或ELB的访问日志,确认X-HTTP-Method-Override请求头已被移除。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 12:42:47