首页 > 其他分享 >使用 CloudFront Functions 做域名30X跳转

使用 CloudFront Functions 做域名30X跳转

时间:2023-05-26 15:11:42浏览次数:52  
标签:30X Functions 函数 cloudfront 选择 CloudFront https 跳转

创建函数

此过程向您展示如何使用 CloudFront 控制台创建一个将查看器重定向到不同 URL 并返回自定义响应标头的简单函数。

在 CloudFront 控制台中创建函数
  1. 登录 AWS 管理控制台并在 https://console.aws.amazon.com/cloudfront/v3/home打开 CloudFront 控制台.

  2. 在导航窗格中,选择Functions。然后选择 创建函数。

  3. 输入函数名称,然后选择Continue。

  4. (可选)对于Comment,输入函数的描述。例如,输入Simple test function

  5. 复制以下功能代码,然后粘贴到控制台的代码编辑器中,替换编辑器中的默认代码。

     
    function handler(event) {
        // NOTE: This example function is for a viewer request event trigger. 
        // Choose viewer request for event trigger when you associate this function with a distribution. 
        var response = {
            statusCode: 302,
            statusDescription: 'Found',
            headers: {
                'cloudfront-functions': { value: 'generated-by-CloudFront-Functions' },
                'location': { value: 'https://aws.amazon.com/cloudfront/' }
            }
        };
        return response;
    }
    
                        CloudFront Functions 代码编辑器中的示例代码。
  6. 选择保存以使用您粘贴的示例代码创建函数。此函数代码将查看器重定向到不同的 URL,并返回自定义响应标头。

    
                        CloudFront 控制台中功能页面的构建选项卡。

    成功后,您会在页面顶部看到一个标语,上面写着 Function namesaved successfully。

    提示

    您可以选择在发布函数之前对其进行测试。本教程不介绍如何测试函数,但有关详细信息,请参阅测试函数

  7. 选择Publish选项卡,然后选择 Publish按钮发布函数。您必须先发布该函数,然后才能将其与您的 CloudFront 分配相关联。

    
                        CloudFront 控制台中功能页面的发布选项卡。

    成功后,您会在页面顶部看到一个标语,上面写着 Function namepublished successfully。

  8. 选择关联选项卡。然后执行以下操作:

    警告

    在以下步骤中,选择用于测试的分发或缓存行为。不要将此演示功能与生产中使用的分发或缓存行为相关联。

    1. 对于Distribution,选择要与此函数相关联的分布。

    2. 对于Event type,保留默认选择 ( Viewer Request )。

    3. 对于Cache behavior,选择一个缓存行为来关联这个函数。

    4. 选择添加关联。然后,在 Associate function to cache behavior弹出窗口中,选择Associate。

    
                        CloudFront 控制台中功能页面的关联选项卡。

成功后,您会在页面顶部看到一条横幅,上面写着 Function name关联成功,关联的 CloudFront 分配表显示关联的分配。在验证您的函数是否正常工作之前,请等待几分钟,以便关联的分发完成部署。要检查分配的状态,请选择关联的分配,然后选择View distribution。

当分配的状态为Deployed时,您就可以验证函数是否正常工作了。

验证功能

https://d111111abcdef8.cloudfront.net要查看正在运行的函数并验证它是否有效,请在 Web 浏览器中转到您的分配域名(例如, )。该函数返回到浏览器的重定向,因此浏览器会自动转到 https://aws.amazon.com/cloudfront/.

如果您使用curl之类的工具向您的分配域名发送请求 ,您会看到重定向响应 ( 302 Found) 和该函数添加的自定义响应标头,如以下示例中所强调的。

 
curl -v https://d111111abcdef8.cloudfront.net/
> GET / HTTP/1.1
> Host: d111111abcdef8.cloudfront.net
> User-Agent: curl/7.64.1
> Accept: */*
>
< HTTP/1.1 302 Found
< Server: CloudFront
< Date: Tue, 16 Mar 2021 18:50:48 GMT
< Content-Length: 0
< Connection: keep-alive
< Location: https://aws.amazon.com/cloudfront/
< Cloudfront-Functions: generated-by-CloudFront-Functions
< X-Cache: FunctionGeneratedResponse from cloudfront
< Via: 1.1 3035b31bddaf14eded329f8d22cf188c.cloudfront.net (CloudFront)
< X-Amz-Cf-Pop: PHX50-C2
< X-Amz-Cf-Id: ULZdIz6j43uGBlXyob_JctF9x7CCbwpNniiMlmNbmwzH1YWP9FsEHg==

标签:30X,Functions,函数,cloudfront,选择,CloudFront,https,跳转
From: https://www.cnblogs.com/xzlive/p/17434812.html

相关文章

  • JavaScript中的生成器函数(Generator Functions)
    简介:生成器函数(GeneratorFunctions)是JavaScript中的一种特殊类型函数,它允许开发者在函数内部产生多个值并逐步返回,与传统函数一次返回单个值的方式不同。本文将介绍生成器函数的特性、优缺点以及如何使用它们,并提供一些代码案例来说明其用法。特性:使用function\*关键字声明:生成......
  • springboot 跳转到网页上的两种实现方式(转发与重定向详细对比)
    1.情景展示虽然现在流行的是前后端分离,后端开发与前端往往只进行数据交互,不需要参与对网页跳转的控制及网页内容的开发。但是,由服务器(后端)跳转到客户端(浏览器)或者从A服务器跳到B服务器是一项基本的能力。在项目开发中,真正遇到的时候,该如何实现?哪种实现方式更好?2.具体分析......
  • 微信小程序点击按钮进行页面跳转
    下面是wxml代码<buttontype="primary"bindtap="go">跳转到list页面</button>下面是js代码go:function(){wx.navigateTo({url:'/pages/list/list',})},......
  • 【IntelliJ IDEA】idea中的插件之一:Free Mybatis plugin跳转插件的使用(方便在Dao接口
    本文目录一、安装二、使用最近在使用一个非常好用的跳转插件,用着很顺手,效率比之前提高了很多。之前使用MyBatis框架或者是在IDEA中,发现Mapper接口和XML文件之间跳转十分的麻烦,我之前经常的操作是在Mapper接口中将接口名称复制一下,然后去查找对应的XML文件,打开后CRTL+F查找对应的xml......
  • Qt+QtWebApp开发笔记(三):http服务器动态html连接跳转基础交互
    前言  网页很多时候是动态的,于是本篇文章目标实现一个简答的动态页面—页静态页面互相跳转,点击可以跳转到子页面。 Demo  下载地址  链接:https://pan.baidu.com/s/1bbhcu1XTiaJRYGRQRG5a0g?pwd=1234 HTML基本页面交换  上一篇的“HelloWorld”......
  • MAUI Blazor学习7-实现登录跳转页面
    MAUIBlazor学习7-实现登录跳转页面 MAUIBlazor系列目录MAUIBlazor学习1-移动客户端Shell布局-SunnyTrudeau-博客园(cnblogs.com)MAUIBlazor学习2-创建移动客户端Razor页面-SunnyTrudeau-博客园(cnblogs.com)MAUIBlazor学习3-绘制ECharts图表-SunnyTrudeau......
  • flutter 使用Get.toName跳转到新页面,返回刷新列表页面
    flutter使用Get.toName跳转到新页面,在新页面执行操作,比如说删除某个对象,需要返回页面刷新列表页面1.Get.toNamed(routes)!.then((value)=>refresh);其中的refresh是执行刷新后的方法2.Get.back(result:'backtorefresh');......
  • android 使用多个Intent 进行activity跳转 而没有finish的情况,如何直接退出系统
    <:section><!--列表视图页显示缩略图和文章摘要--><!--文章视图页显示全部内容--><!--如果有内容,显示内容-->就是N个Activity跳转没finish();最后一个Activity单击事件如何推出整个程序?很简单:只要在最后一个需要finish掉之前所有的avtivity的Intent上加上这样一句话......
  • odoo 模块传递数据及跳转
    defgoto_mystock(self):self.ensure_one()view_id=self.env.ref('mystock.mystock_form_view').id#a=self.env['mystock'].create({'billno':'ABCDE',#......
  • 微前端中路由的跳转
    微前端中路由的跳转针对基座与子应用都是Angular的场景,实现应用间的路由跳转基座往子应用的跳转首先在路由中要定义一个空组件来承接子路由,可以在基座路由表中添加如下路由{path:'subapp',children:[{path:'**',component:EmptyComponent}]}@C......