AWS-CDN只能备用域名访问-使用Lambda@Edge(禁止分配的域名访问)

场景:cdn使用备用域名后,希望用户只能从备用域名访问,而不是自动分配的cdn域名,这也将是一个安全漏洞,被扫描到cdn域名访问刷流量等!
【建议部署前查看】参考链接

1.官方cdn返回示例

2.lambda@edge 403自定义示例

1. 部署cdn 并且绑定备用域名


测试能够访问

两个域名都可以访问!说明 cdn 到 源站正常!

2. 部署lambda@edge (lambda 创建nodejs脚本部署到cdn)

运行环境:

Node.js 20.x

创建主文件index.js

js 复制代码
'use strict';

exports.handler = (event, context, callback) => {
   const request = event.Records[0].cf.request;
   const headers = request.headers;
   const hostHeader = request.headers['host'][0].value;
   
   const response_error = {
    status: '403',
    statusDescription: 'Forbidden',
    body: 'CDN Domain Name Access Denied !!!',
    headers: {
        'content-type': [{
            key: 'Content-Type',
            value: 'text/plain'
        }]
    }
   };
   
   if (hostHeader == 'd1lwrlbp671jw0.cloudfront.net') {
       callback(null, response_error);
   } else {
       callback(null, request);
   }
};
配置lambda权限


部署到lambda@edge


3. 等待cdn部署生效,查看监控

最下面有绑定关系,确认是否绑定错误

测试

效果实现!!!

报错 502 503 时,说明 函数错误 检查相关lambda。

相关推荐
亚马逊云开发者8 小时前
Bedrock 推理成本优化指南:批量推理省 50%,提示缓存省 90%
aws
zylyyyyyy12 小时前
虚拟机X OpenClaw——一键“幻”养“龙虾”
大数据·人工智能·云计算
亚马逊云开发者12 小时前
用 Kiro 从零做了个 Web 项目,聊聊规范驱动开发是不是真的好使
aws
snpgroupcn13 小时前
SAP S/4HANA集成ECC历史数据:SNP Datafridge实操指南(交易代码+功能解析)
云计算·数据迁移·sap实施
zhojiew16 小时前
在eks集群中部署eks-node-monitoring-agent并利用NodeDiagnostic收集节点日志
aws·eks
漏刻有时18 小时前
宝塔面板实现按年月自动备份目录至阿里云 OSS(python脚本、大文件分片上传版)
python·阿里云·云计算
熊猫钓鱼>_>18 小时前
Puppeteer深度解析:Chrome自动化的艺术与实践
前端·人工智能·chrome·自动化·云计算·puppeteer·mcp
观测云19 小时前
腾讯云专有云 TCE 可观测最佳实践
云计算·腾讯云·观测云
信看19 小时前
亚马逊 AWS MQTT(S) 测试
网络·云计算·aws
亚马逊云开发者19 小时前
不买服务器也能跑 AI?Lambda + Bedrock 这套组合真香
aws