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

news2024/12/25 1:14:44

场景:cdn使用备用域名后,希望用户只能从备用域名访问,而不是自动分配的cdn域名,这也将是一个安全漏洞,被扫描到cdn域名访问刷流量等!
【建议部署前查看】参考链接
1.官方cdn返回示例
2.lambda@edge 403自定义示例

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

在这里插入图片描述
在这里插入图片描述
测试能够访问
在这里插入图片描述
在这里插入图片描述
两个域名都可以访问!说明 cdn 到 源站正常!

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

运行环境:
Node.js 20.x
在这里插入图片描述
创建主文件index.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。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1315601.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从菜鸟到专业人士:来自真实 PRD 写作经验的 5 个改变游戏规则的产品管理课程

产品管理是一个复杂且具有挑战性的角色。PRD(即产品需求文档)就像构建产品的蓝图,可将其视为指导开发团队创造令人惊叹的产品的详细路线图。本文除了介绍产品经理如何写好PRD,也将进一步阐述产品经理应该学习哪些技能?…

【C语言】动态内存管理(C语言的难点与精华,数据结构的前置知识,你真的掌握了吗?)

文章目录 引言一、为什么要动态内存分配二、动态内存分配的相关函数2.1 malloc2.2 free2.3 calloc2.4 realloc 三、常见的动态内存的错误3.1 对NULL指针的解引用3.2 对动态内存越界访问3.3 对非动态内存释放3.4 对动态内存部分释放3.5 对动态内存多次释放3.6 未对动态内存释放&…

DevEco Studio自定义代码颜色

这里以ArkTS代码颜色举例 进入设置(快捷键CtrlAltS) 选择Editor > Color Scheme > JavaScript 由于之前用习惯VsCode了,这里以注释颜色举例,变为绿色。 上面说的不是以ArkTS代码颜色举例吗?为什么选择JavaScr…

使用下载代替物理串口输出-STM32 Debug (printf) Viewer

使用下载代替物理串口输出-STM32 Debug 硬件要求配置方法代码要求打印输出结果 硬件要求 STM32的PB9、PB10引脚的串口1通常用作其他功能使用后,无法通过printf()函数打印输出想要调试输出查看变量或调试信息。现已使用另外一种方法实现printf()函数打印输出。 ST…

BugKu-Web-滑稽

题目环境 持续的动态图片 F12审查元素 拿下flag:flag{595d994a34342417bfc3a3c3a23e0a48}

Java: Random

/*** encoding: utf-8* 版权所有 2023 涂聚文有限公司* 许可信息查看:* 描述: //https://commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/apache/commons/lang/RandomStringUtils.html* //https://commons.apache.org/pro…

jmeter 如何循环使用接口返回的多值?

有同学在用jmeter做接口测试的时候,经常会遇到这样一种情况: 就是一个接口请求返回了多个值,然后下一个接口想循环使用前一个接口的返回值。 这种要怎么做呢? 有一定基础的人,可能第一反应就是先提取前一个接口返回…

测试用例设计方法之判定表详解!!

理论部分 判定表是分析和表达多种输入条件下系统执行不同动作的工具,它可以把复杂的逻辑关系和多种 条件组合的情况表达得既具体又明确。 条件桩(Condition Stub)动作桩(Action Stub)条件项(Condition Entry)动作项(Action Entry&#xff0…

Redis常用内存淘汰策略?

从淘汰范围来说可以分为不淘汰任何数据、只从设置了到期时间的键中淘汰和从所有键中淘汰三类。而从淘汰算法来分,又主要分为 random(随机),LRU(最近最少使用),以及 LFU(最近最不常使…

【AI美图】第03期效果图,AI人工智能全自动绘画,二次元美图欣赏

带来一组二次元人工智能自动绘图 对比分析: 标题手画二次元需要技巧: 二次元高清图片的绘制技巧主要包括以下几点: 线条的运用:在二次元风格的绘画中,线条的运用非常重要。要绘制出流畅、细腻的线条,需…

VBA技术资料MF96:单字段多条件高级筛选

我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。我的教程一共九套,分为初级、中级、高级三大部分。是对VBA的系统讲解,从简单的入门,到…

基于CNN+数据增强+残差网络Resnet50的少样本高准确度猫咪种类识别—深度学习算法应用(含全部工程源码)+数据集+模型(六)

系列文章目录 基于CNN数据增强残差网络Resnet50的少样本高准确度猫咪种类识别—深度学习算法应用(含全部工程源码)数据集模型(一) 基于CNN数据增强残差网络Resnet50的少样本高准确度猫咪种类识别—深度学习算法应用(含全部工程源码)数据集模型&#xf…

Day10 Liunx高级系统设计11-数据库2

DQL:数据查询语言 查询全表 select * from 表名; 查询指定列 select 列名 1, 列名 2,… from 表名 ; 条件查询 select * from 表名 where 条件 ; 注意: 条件查询就是在查询时给出 WHERE 子句,在 WHERE 子句中可以使用如下运算符及关键 字&#…

学习笔记10——Mysql的DDL语句

学习笔记系列开头惯例发布一些寻亲消息 链接:https://baobeihuijia.com/bbhj/contents/3/197161.html 数据库创建: CREATE DATABASE books; CREATE DATABASE IF NOT EXISTS books;更改字符集 ALTER DATABASE books CHARACTER SET gbk;库的删…

三层交换与DHCP

目录 一、三层交换 (一)基本概念 (二)转发原理 (三)ensp项目实验 二、DHCP (一)DHCP工作原理 1.DHCP的特点 2.工作原理 (二)DHCP项目实验 一、三层交…

电商用户运营优化:腾讯文档API无代码集成

腾讯文档API集成:电商平台无代码客服系统 随着数字化时代的到来,电商平台日益求势于高效率和低成本的运营模式。无代码开发正在改变传统业务流程的构建方式,尤其在客户服务领域,这种转变正变得尤为明显。本文将探索腾讯文档API在…

大模型算法工程师的面试题来了(附答案)

自 ChatGPT 在去年 11 月底横空出世,大模型的风刮了整一年。 历经了百模大战、Llama 2 开源、GPTs 发布等一系列里程碑事件,将大模型技术推至无可争议的 C 位。基于大模型的研究与讨论,也让我们愈发接近这波技术浪潮的核心。 最近大模型相关…

【QT】时间日期与定时器

目录 1.时间日期相关的类 2.日期时间数据与字符串之间的转换 2.1 时间、日期编辑器属性设置 2.2 日期时间数据的获取与转换为字符串 2.3 字符串转换为日期时间 3.QCaIendarWidget日历组件 3.1基本属性 3.2 公共函数 3.3 信号 4.实例程序演示时间日期与定时器的使用 …

创建型模式之工厂方法模式

一、概述 1、工厂方法模式:定义一个用于创建对象的接口,让子类决定将哪一个类实例化。工厂方法模式让一个类的实例化延迟到其子类 2、工厂方法模式:不再提供一个按钮工厂类来统一负责所有产品的创建,而是将具体的按钮创建过程交…

一文弄懂自编码器 -- Autoencoders

1. 引言 近年来,自编码器(Autoencoder)一词在许多人工智能相关的研究论文、期刊和学位论文中被频繁提及。自动编码器于1980年推出,是一种用于神经网络的无监督学习技术,可以从未被标注的训练集中学习。 本文重点介绍…