AWS S3(vue)+API Gateway+lambda实现无服务网站

news/2024/5/9 20:02:30/文章来源:https://blog.csdn.net/baidu_31405631/article/details/122376935

0 写在前面的话

   公司最近转型serverless要把一些内部CMS和部分外部网站放到AWS上,先简单的实现个S3(vue)+API Gateway+lambda的无服务建站的小例子,

    感觉一般的网站真心没必要再自己弄EC2了,尤其初创公司,开始公司用户少,这套方案按访问量收费不香吗?lambda每月还有几万的免费访问量,真的很省钱,

     还有各种高可用,动态扩容,安全性,都不用考虑了,找个码农直接开干,业务流程跑通了再说。闲话不说下面开干

1.1 S3(Vue)设置

1.1 创建并设置S3存储桶

#1 创建S3存储桶并开启静态网站托管功能
#2 设置索引文档名称为index.html

1.2 创建简单Vue页面

<!--APP.vue-->
<template><div id="app"><img src="./assets/logo.png"><h3><router-link to="/changeComponent">test vue router</router-link></h3><router-view/></div>
</template>
​
<script>
export default {name: 'App'
}
</script>
​
<style>
#app {font-family: 'Avenir', Helvetica, Arial, sans-serif;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;text-align: center;color: #2c3e50;margin-top: 60px;
}
</style>
​
<!--ChangeComponent-->
<template><div><h1>test get string form lambda</h1><button @click='getLamda'>lambda</button><h2>{{msg}}</h2></div>
</template>
<script>
import axios from 'axios'
export default {
​name: 'ChangeComponent',data () {return {msg: 'click the button you will get lambda return'}},methods: {getLamda(){axios.get('https://哈哈这个要先建好APIGateWay才会有哦/default/demo4lambda').then(response => {console.log(response.data)this.msg=response.data},error => {console.log('error')})}}
}
</script>
<!--HelloWorld-->
<template><div class="hello"><h1>{{ msg }}</h1><h2>Essential Links</h2>
​</div>
</template>
​
<script>
export default {name: 'HelloWorld',data () {return {msg: 'Welcome to Your Vue.js App'}},
}
</script>
​
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
h1, h2 {font-weight: normal;
}
ul {list-style-type: none;padding: 0;
}
li {display: inline-block;margin: 0 10px;
}
a {color: #42b983;
}
</style>
​
<!--index.js-->
import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld'
import ChangeComponent from '@/components/ChangeComponent'
Vue.use(Router)
​
export default new Router({routes: [{path: '/',name: 'HelloWorld',component: HelloWorld},{path: '/changeComponent',name: 'ChangeComponent',component: ChangeComponent}]
})
​

1.3 上传Vue页面至S3

1.4 允许S3共有访问

1.5 设置S3页面访问白名单

{"Version": "2012-10-17","Id": "Policy1618sfdsa313fd336","Statement": [{"Sid": "Stmt16ssss1112"Principal": "*","Action": "s3:*","Resource": "arn:aws-cn:s3:::demo4lambda/*","Condition": {"NotIpAddress": {"aws:SourceIp": "123.456.789.10/32"},"Bool": {"aws:SecureTransport": "false"}}}]
}

1.2 创建API GateWay

# 1 创建 REST API
# 2 集成类型选择lambda函数
# 3 设置content-type,header添加跨站允许

 

1.3 创建lambda

1.3.1 创建lambda

# 运行时选择Node.js

1.3.2 编写lambda并部署

1.4测试

访问网站可以实现页面跳转和调用lambda返回数据

1.5 后续

1.5.1 域名问题

 现在用的域名使是s3的域名,后续需要使用cloudfront来设置域名,然后再讲lambda也绑定自己的域名就可以取消APIgateway里面关于跨站的设置了

1.5.2 DB问题

 lambda需要访问DB,后面还需要加上DB的设置,这样就需要lambda加入到VPC网络里

1.5.3 安全问题

  安全问题使用AWF和SecurityGroup实现防火墙配置

 最后 评论超过100,博主继续更新这个帖子

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

wsdd文件是怎么生成的_这些有趣好玩的免费生成器网站,感觉能玩上一天

创作立场声明&#xff1a;自用推荐&#xff0c;免费网站前言嗨&#xff0c;大家好&#xff0c;我是默咖&#xff0c;一个白天写代码晚上写文章&#xff0c;偶尔做视频的渣渣&#xff01;最近有点懒洋洋&#xff0c;不想写产品的分享&#xff0c;毕竟拍照修图、写稿改稿有时候会…

php网站数据库在哪,【后端开发】php网站怎么查看数据库

php网站查看数据库的方法&#xff1a;推荐&#xff1a;php服务器连接数据库代码&#xff1a;define("DB_HOST","localhost");define("DB_USER","root");define("DB_PWD","");define("DB_NAME","wo…

常见网站漏洞checklist

0x00、写在前面 在做网站渗透之前除了关注一些通用漏洞&#xff0c;这些漏洞通常能很容易的利用扫描器扫出&#xff0c;被WAF所防护 然而有一些逻辑漏洞WAF和扫描器就无法发现了&#xff0c;就需要人工来测试 根据各行业的特点总结了下网站的常见漏洞checklist 0x01、互联网行业…

将网页部署到github服务器上,用Github部署H5网站(无需服务器)

Step1 :登录到自己的Github&#xff0c;查看代码仓库点击“Repositories”进入自己的代码仓库页面&#xff0c;点击“New”&#xff0c;新建一个代码仓库&#xff0c;用来存放将要上传的网页文件。图1 查看代码仓库Step2 :新建代码仓库进入新建代码仓库页面&#xff0c;填写“R…

批量下载某网站的图片

环境&#xff1a;windows7 &#xff0c;Python 3.6.7 &#xff0c;you-get 0.4.1432 &#xff0c;bat 变量说明&#xff1a; for1 chapters 章节 62184 ~ 62210 for2 jpgNum jpg 1~40 for3 fileFolder 存放每个章节的文件夹 1~50 最初的示例图 测试代码 路径内容&a…

学习Linux的博客和资源网站

个人推荐一些优质学习Linux的博客和网站 1、Katacoda - Interactive Learning Platform for Software Engineers 网页版的交互式软件工程师技术学习平台&#xff0c;可在上面学kubernetes 、 docker 、CICD等知识。 2、骏马金龙 - 博客园 博主骏马金龙 &#xff0c;学Lin…

记一次网站无法访问的排查思路

2021年1月15日10:36:06 昨晚19点发生了一排机器&#xff08;不到10台&#xff09;发生了重启&#xff0c;IDC的李工说超融合服务器的存储出问题了。无法远程服务器&#xff0c;访问web服务。我以为中招incaseformat病毒了。在23&#xff1a;30分修复成功&#xff0c;应该是存储…

记一次网站故障排查过程(nginx 504状态码、 upstream timed out (110: Connection timed out)以及jbd2引起IO高

一、问题描述 客户侧反馈无法正常访问系统&#xff0c;页面转圈&#xff0c;时好时坏&#xff0c;访问不稳定。 二、系统环境&#xff1a; 机器环境&#xff1a;UOS 、 nginx 、php&#xff08;对接其他服务器kingbase 、钉钉、redis 、KF&#xff09; ELB&#xff1a;192.…

大型网站限流算法的实现和改造

最近写了一个限流的插件&#xff0c;所以避免不了的接触到了一些限流算法。本篇文章就来分析一下这几种常见的限流算法 分析之前 依我个人的理解来说限流的话应该灵活到可以针对每一个接口来做。比如说一个类里面有5个接口&#xff0c;那么我的限流插件就应该能针对每一个接口就…

Nginx 通过 certbot 为网站自动配置 SSL 证书并续期

目录 一、背景知识1.1、http 和 https 是什么&#xff1f;1.2、SSL/TLS 是什么&#xff1f;1.3、为什么要部署 https&#xff1f;1.4、怎么部署 https 呢&#xff1f;1.5、怎么获得 SSL 安全证书呢&#xff1f;二、Let’s Encrypt 及 Certbot 简介2.1、Authenticators 和 Insta…

部署社区网站,搭建SVN、nginx、PHP,部署MFS并挂载,发布上线

概述&#xff1a; 社交网站的第一个版本部署在LNMP平台之上&#xff0c;前段为Nginx服务器&#xff0c;通过fastcgi协议访问后端的PHP服务器。为了保证数据安全&#xff0c;要求搭建MySQL数据库主从集群。 项目介绍&#xff1a; 本项目案例结合SVN、LNMP和MySQL三种环境&#x…

《大型网站架构技术》系列分享专栏

2019独角兽企业重金招聘Python工程师标准>>> 在这里整理一些大型网站架构方面的技术文章&#xff0c;包括大型网站存储&#xff0c;架构&#xff0c;静态化处理&#xff0c;高并发&#xff0c;高性能方面的问题处理&#xff0c;解决方案等知识 《大型网站架构技术》…

阿里云官方网站免费套餐怎么抢

阿里云推出包含云服务器 ECS、负载均衡、云数据库 RDS、云数据库 Redis 版、云数据库 Mongodb 版、弹性公网 IP、CDN、对象存储 OSS、文件存储 NAS等40核心云产品&#xff0c;6个月免费使用何为免费套餐&#xff0c;其实就是让你先体验&#xff0c;觉得好用&#xff0c;易用&am…

一步步构建大型网站架构

2019独角兽企业重金招聘Python工程师标准>>> 之前我简单向大家介绍了各个知名大型网站的架构&#xff0c;亿万用户网站MySpace的成功秘密、Flickr架构、YouTube网站架构、PlentyOfFish 网站架构学习、WikiPedia技术架构学习笔记。这几个都很典型&#xff0c;我们可以…

html:demo网站学习

学习网站https://www.sc-edu.com 涉及知识如下&#xff1a; 目录HTML < ul> 标签HTML lang 属性HTML 标签的 alt 属性CSS 选择器CSS position绝对定位&#xff1a;absolute relativeCSS background-position 属性CSS3 animation(动画)属性 与 keyframes 规则CSS paddin…

html:写网站时遇到的问题及解决

目录01 绝对路径改相对路径出错&#xff1a;图片无法显示02 两端文字空开&#xff0c;且每行这两端文字对齐03 在一行&#xff0c;一侧显示文字&#xff0c;一侧显示图片04 动画效果&#xff0c;文字乱跑05 padding 和 margin01 绝对路径改相对路径出错&#xff1a;图片无法显示…

四招避免SEO优化过度

在对网站进行优化的过程中&#xff0c;很多人往往会将所看到的优化方法不分青红皂白的一律应用&#xff0c;但这样一来就往往会出现优化过度的现象&#xff0c;优化过度甚至比不优化还要对网站有危害&#xff0c;只需要注意以下四个方面&#xff0c;就可以避免在优化网站中经常…

MOSS通过此命令注册模板,web应用程序可以根据stp模块生成网站集

注&#xff1a;C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\bin stsadm –o addtemplate –title 凤凰小学模版 –filename d:\fenghuangxiaoxue.stp MOSS部署常用的stsadm命令行 常用的stsadm命令行参数有&#xff1a; 1、installfeature、uni…

如何部署互动百科的开源wiki建站系统

最近想在技术部门内部搭建一个知识共享平台&#xff0c;经过一番了解和相关资料的查阅&#xff0c;选定了互动百科的开源wiki系统。选定互动wiki&#xff08;下文简称hdwiki)&#xff0c;主要的原因有如下几个方面&#xff1a; 1.中文版。这样对于我个人或者团队内部成员而言&a…

国外人经常上的网站,即全球各个领域最大的互联网网站

由于身处的行业原因&#xff0c;我经常上中国以外的互联网&#xff0c;其实全世界的网民跟国内的网民差不多&#xff0c;他们也经常上网&#xff0c;玩空间、网络视频、分享照片、写博客。由于国内对于互联网的封锁&#xff0c;所以国内大部分的童鞋并不了解外国人的上网都去哪…