开放平台面向外部开发者的自助服务站点。本文介绍如何在阿里云 SAE、ACK 以及本地 Docker 环境中部署门户服务,快速搭建生产就绪或开发测试用的开发者门户。
部署方式对比
门户服务支持以下部署方式,可根据实际场景选择:
部署方式 | 适用场景 | 说明 |
阿里云 SAE | 生产环境推荐 | Serverless 应用引擎,免运维、自动弹性伸缩 |
阿里云 ACK | 大规模生产环境 | 容器服务 Kubernetes 版,适合复杂编排需求 |
本地 Docker | 开发测试 | 本地快速验证,不适用于生产 |
在 SAE 中部署门户(推荐)
阿里云 Serverless 应用引擎(SAE)是部署门户服务的推荐方式,具备免服务器运维、自动弹性伸缩、按需付费等优势。
前提条件
部署前需完成以下准备工作:
已开通阿里云 SAE 服务,并创建命名空间。
已在开放平台控制台创建门户实例,并获取门户 ID。
门户服务的镜像地址为固定地址,部署时直接填写即可,镜像地址见下文部署步骤。
创建应用
登录阿里云 SAE 控制台。
在应用管理页面,点击创建应用。
填写基础信息:
应用名称:建议使用门户名称,便于识别。
描述:简要说明应用用途。
命名空间:选择已创建的命名空间。
选择部署方式:
部署方式:选择镜像部署。
镜像地址:填写
opensource-registry.cn-hangzhou.cr.aliyuncs.com/higress-group/himarket-portal:latest。
配置实例规格(按需设置):
vCPU:建议 0.5 核或以上。
内存:建议 1 GiB 或以上。
实例数:根据实际访问量配置,最小 1 实例。
配置环境变量
在应用配置中添加以下必需的环境变量。
核心配置
环境变量名称 | 说明 | 示例值 |
| 门户服务访问 APIG OpenAPI 的 Endpoint。 |
|
| 门户服务所在的地域 ID。 |
|
| 在开放平台控制台创建的门户 ID。 |
|
认证配置(二选一)
门户服务需要访问阿里云 OpenAPI,需配置认证凭证。SAE 支持 RRSA OIDC 和 AccessKey 两种方式,推荐优先使用 RRSA OIDC,安全性更高。
方式一:RRSA OIDC(推荐,仅 SAE 支持)
在配置应用时启用 RRSA OIDC 功能。此方式无需在环境变量中配置 AK/SK,通过 OIDC 令牌自动获取临时凭证,安全性更高。SAE RRSA OIDC 配置方式参考:设置身份认证服务功能(邀测)
RRSA OIDC 为 SAE 特有功能,ACK 环境不支持此方式。
方式二:AccessKey 认证
如暂时无法使用 RRSA OIDC,或部署在 ACK 环境,可在环境变量中配置阿里云子账号的 AccessKey。
环境变量名称 | 说明 | 示例值 |
| 阿里云子账号的 AccessKey ID。 |
|
| 阿里云子账号的 AccessKey Secret。 |
|
使用 AccessKey 方式时,请确保:
使用子账号 AK/SK,避免使用主账号。
该子账号需具备下文所述的 RAM 权限策略。
配置 RAM 权限
门户服务需要访问阿里云 AI 网关资源,请为子账号配置以下权限。
系统权限策略
AliyunAPIGReadOnlyAccess:阿里云云原生 API 网关资源的只读权限。
自定义权限策略
由于门户服务需要管理消费者(Consumer),需要额外添加以下自定义策略:
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"apig:*Consumer*"
],
"Resource": "*"
}
]
}配置访问接入
应用部署完成后,需要配置访问接入点,使外部可以访问门户服务。
方式一:通过 API 网关访问(推荐)
推荐使用阿里云 API 网关作为门户服务的统一接入层,可获得流量控制、安全防护、监控告警、日志审计等能力。
登录阿里云 API 网关控制台,开通 API 网关服务。
创建 SAE 类型的服务,选择已部署的门户应用作为后端。
创建 HTTP API,配置路由规则(例如将路径
/*转发到门户服务的8000端口)。通过 API 网关生成的接入点地址访问门户。
方式二:通过负载均衡访问
如暂不需要 API 网关的高级功能,也可通过负载均衡直接暴露服务。
进入 SAE 控制台应用详情页。
点击添加访问方式。
选择负载均衡类型,NLB 或 CLB 均可。
配置监听端口:
协议:TCP
容器端口:
8000(门户服务默认端口)
保存后,系统会分配访问地址,可通过该地址访问门户。
验证部署
完成上述配置后,启动应用并验证部署是否成功:
在 SAE 控制台查看应用实例状态,确保运行正常。
通过配置的访问地址访问门户首页,确认页面加载正常。
测试开发者注册、登录、浏览 API 产品等核心功能。
在 ACK 中部署门户
对于需要更复杂编排能力的大规模生产环境,可选择阿里云容器服务 Kubernetes 版(ACK)部署。
部署步骤概述
准备 Kubernetes 部署 YAML,包含 Deployment、Service 等资源。
配置 ConfigMap 存储环境变量(
POP_GATEWAY_URL、POP_REGION_ID、PORTAL_ID等)。配置 Secret 存储
ALIYUN_ACCESS_KEY_ID和ALIYUN_ACCESS_KEY_SECRET。配置接入方式。推荐通过 API 网关接入,也可配置 Ingress 或 SLB 直接暴露。
接入方式建议
与 SAE 部署相同,ACK 环境中的门户服务同样推荐使用阿里云 API 网关作为统一接入层。
在 API 网关控制台创建容器类型的服务。
创建 HTTP API 并配置路由规则。
通过 API 网关接入点访问门户,获得流量控制、安全防护等能力。
在本地 Docker 中部署
适用于开发测试环境快速验证功能。
运行命令
docker run -d \
--name portal \
-p 8000:8000 \
-e POP_GATEWAY_URL=https://apig.cn-hangzhou.aliyuncs.com \
-e POP_REGION_ID=cn-hangzhou \
-e PORTAL_ID=portal-xxx \
-e ALIYUN_ACCESS_KEY_ID=LTAxxx \
-e ALIYUN_ACCESS_KEY_SECRET=3f98xxx \
registry.cn-hangzhou.aliyuncs.com/acs/alibaba-cloud-portal:latest运行后,访问http://localhost:8000即可访问门户,端口可按需修改。