背景

目前我们开发完前端代码,都是直接部署在COS下,比如腾讯云COS,然后后端在nginx代理到COS域名,不过最近发现一个比较好玩的国产微服务网关APISIX,我们用他来代替nginx,实现将URL代理到 COS ;

准备

  • 域名 – example.com,项目的域名
  • APISIX – 开源网关服务
  • cos-1001.cloud.com – COS域名,COS相关的配置省略
  • cos-1001.website.cloud.com – COS对应的静态网站域名

域名申请、域名映射、服务部署等操作在此省略。。。

COS 配置

COS的一般操作(创建桶、上传文件等),这里不啰嗦了,需要重点说的一点是:开启静态网站功能

目的是为了让我们访问域名的时候,显示默认首页,如:index.html,否则会 403 Forbidden

开启静态网站功能 是腾讯云COS上自带的,其他云平台大概率也有

APISIX 配置

吐槽:APISIX 相对于 nginx,优点是有UI界面操作,缺点是需要一点额外的学习成本

配置上游 Upstream

Upstream,上游服务,即我们需要代理的COS服务

配置路由 Route

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{
"uri": "/*",
"name": "example.com",
"methods": [
"GET",
"POST",
"PUT",
"DELETE",
"PATCH",
"HEAD",
"OPTIONS",
"CONNECT",
"TRACE"
],
"host": "example.com",
"plugins": {
"proxy-rewrite": {
"host": "cos-1001.website.cloud.com"
}
},
"upstream_id": "99999999", # 上面配置的 Upstream 的 ID
"status": 1
}

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注