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。

相关推荐
Sheffield1 小时前
command和shell模块到底区别在哪?
linux·云计算·ansible
DolitD6 小时前
云流技术深度剖析:国内云渲染主流技术与开源和海外厂商技术实测对比
功能测试·云原生·开源·云计算·实时云渲染
翼龙云_cloud6 小时前
阿里云渠道商:阿里云 ECS 从安全组到云防火墙的实战防护指南
安全·阿里云·云计算
YongCheng_Liang6 小时前
从零开始学虚拟化:桌面虚拟化(VDI)入门指南(架构 + 产品 + 部署)
运维·云计算
万物得其道者成7 小时前
阿里云 H5 一键登录接入实战:前后端完整实现
阿里云·云计算·状态模式
翼龙云_cloud21 小时前
国际云代理商:2026年国际云注册风控升级实战指南 8 大平台无卡解决方案对比
服务器·阿里云·云计算
阿里云大数据AI技术1 天前
全模态、多引擎、一体化,阿里云DLF3.0构建Data+AI驱动的智能湖仓平台
人工智能·阿里云·云计算
摇滚侠1 天前
阿里云安装的 Redis 在什么位置,如何找到 Redis 的安装位置
redis·阿里云·云计算
m0_694845571 天前
tinylisp 是什么?超轻量 Lisp 解释器编译与运行教程
服务器·开发语言·云计算·github·lisp
ESBK20251 天前
第四届移动互联网、云计算与信息安全国际会议(MICCIS 2026)二轮征稿启动,诚邀全球学者共赴学术盛宴
大数据·网络·物联网·网络安全·云计算·密码学·信息与通信