返回顶部
a

alibabacloud-network-alb-http-to-httpsALB HTTP转HTTPS

>

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 0.0.1-beta.1
安全检测
已通过
131
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

alibabacloud-network-alb-http-to-https

ALB HTTP 到 HTTPS 重定向

使用 aliyun CLI 在 ALB 上配置 HTTP 到 HTTPS 的 301/302 重定向。编写脚本在创建后轮询资源状态,直到监听器或规则变为可用。

此技能中的所有阿里云服务调用必须包含 --user-agent AlibabaCloud-Agent-Skills。

安装

预检查:需要 Aliyun CLI >= 3.3.1
运行 aliyun version 验证版本 >= 3.3.1。如果未安装或版本过低,请参阅 references/cli-installation-guide.md 获取安装说明。
然后 [必须] 运行以下命令以启用自动插件安装:
bash
aliyun configure set --auto-plugin-install true


认证

预检查:需要阿里云凭证
安全规则:

  • - 绝不读取、回显或打印 AK/SK 值(例如,echo $ALIBABACLOUDACCESSKEYID 是被禁止的)
  • 绝不要求用户在对话或命令行中直接输入 AK/SK
  • 绝不使用带有字面凭证值的 aliyun configure set
  • 使用 aliyun configure list 检查凭证状态

bash
aliyun configure list

检查输出中是否存在有效的配置文件(AK、STS 或 OAuth 身份)。
如果没有有效的配置文件,请在此处停止。

  1. 1. 从阿里云控制台获取凭证
  2. 在此会话之外配置凭证(通过终端中的 aliyun configure 或 shell 配置文件中的环境变量)
  3. 在 aliyun configure list 显示有效配置文件后返回并重新运行


RAM 策略

此技能需要以下 RAM 权限。请参阅 references/ram-policies.md 获取完整列表。

所需核心权限

  • - ALB:ListLoadBalancers、GetLoadBalancerAttribute、ListListeners、GetListenerAttribute
  • ALB:CreateListener、ListRules、CreateRule、CreateServerGroup
  • CAS:UploadUserCertificate

[必须] 权限失败处理: 当任何命令或 API 调用在执行过程中因权限错误而失败时,请遵循以下流程:

  1. 1. 读取 references/ram-policies.md 获取此技能所需的完整权限列表
  2. 使用 ram-permission-diagnose 技能引导用户申请必要的权限
  3. 暂停并等待,直到用户确认已授予所需权限


决策树

首先检查当前状态,然后选择下一步操作:

  1. 1. 使用 getloadbalancer.sh 确认 ALB 存在且状态为 Active。在 ALB 存在性检查通过之前,不要继续证书上传、服务器组创建、监听器创建或规则创建。
  2. 如果用户提供了 ALB 名称,或标识符不明确,首先使用 listloadbalancers.sh 将其解析为真实的 LoadBalancerId。仅向需要 --lb-id 的脚本传递已确认的 ALB ID。
  3. 使用 list_listeners.sh 检查现有监听器。
  4. 根据结果分支:
- 没有 HTTPS 监听器 -> 询问是否创建一个。需要服务器组 ID 和证书 ID。如果没有证书,建议使用 generatetestcert.sh 加 upload_cert.sh 生成并上传自签名测试证书。 - HTTPS 存在,但没有 HTTP 监听器 -> 询问是否创建带有重定向的 HTTP:80。HTTP 监听器的 DefaultAction 必须引用一个服务器组,因此可能需要一个空的占位服务器组。 - HTTP 监听器存在,但没有重定向规则 -> 使用 getlistener.sh 确认协议为 HTTP,然后使用 listrules.sh 查找已占用的优先级,并使用最高可用优先级创建 Redirect 规则。 - 重定向规则已存在 -> 告知用户重定向已配置,并显示当前规则。

工作流程

bash

1. 验证 CLI 版本并启用自动插件安装


aliyun version
aliyun configure set --auto-plugin-install true

2. 验证凭证(不打印密钥)

aliyun configure list

3. 如果需要,将 ALB 名称解析为 ID

bash scripts/listloadbalancers.sh --region --lb-names

4. 检查当前状态,如果 ALB 不存在则提前停止

bash scripts/getloadbalancer.sh --region --lb-id bash scripts/listlisteners.sh --region --lb-id ID>

5. 仅当需要新的 HTTPS 监听器且没有可用证书时,生成并上传证书

bash scripts/generatetestcert.sh --domain bash scripts/upload_cert.sh --name --cert-file /tmp/alb-test-certs/cert.pem --key-file /tmp/alb-test-certs/key.pem

6. 仅当必须创建 HTTP 监听器且没有可用的占位服务器组时,创建空服务器组

使用步骤 4 中 ALB 详情的 VPC ID,而不是信任自由格式的 VPC 输入

bash scripts/createservergroup.sh --region --name http-placeholder --vpc-id

7. 如果 HTTPS 监听器不存在,则创建

bash scripts/createlistener.sh --region --lb-id ID> \ --protocol HTTPS --port 443 --forward-sg ID> --cert-id ID>

8. 如果 HTTP 监听器不存在,则使用占位服务器组创建

bash scripts/createlistener.sh --region --lb-id ID> \ --protocol HTTP --port 80 --forward-sg

9. 确认协议,检查已使用的优先级,并添加重定向规则

bash scripts/getlistener.sh --region --listener-id LSN_ID> bash scripts/listrules.sh --region --listener-id LSN_ID> bash scripts/createrule.sh --region --listener-id LSN_ID> \ --name force-https --priority --action-type Redirect

10. 验证

bash scripts/listlisteners.sh --region --lb-id ID> bash scripts/listrules.sh --region --listener-id LSN_ID>

并非每个步骤都是必需的。跳过当前状态已满足的任何步骤。

默认值和规则

  • - DefaultAction 仅支持 ForwardGroup。Redirect 和 FixedResponse 必须通过规则实现。
  • HTTP 监听器必须引用一个占位服务器组(可以为空),然后使用 Redirect 规则覆盖所有请求。
  • 重定向规则只能附加到 HTTP 监听器。createrule.sh 会自动验证监听器协议。
  • createrule.sh 会自动检查优先级冲突,如果存在冲突,则返回错误并显示冲突规则。
  • 默认是 HTTP 301 永久重定向,浏览器可能会缓存。测试期间使用 --redirect-code 302。
  • 证书服务(cas)是全局的。upload_cert.sh 调用 cas.aliyuncs.com 端点。
  • aliyun configure list 仅是本地凭证检查,不需要 --user-agent。
  • 此技能中的所有阿里云服务调用必须设置 --user-agent AlibabaCloud-Agent-Skills。捆绑的脚本通过 scripts/common.sh 实现,任何手动的 aliyun alb ... 或 aliyun cas ... 命令必须包含相同的标志。
  • ALB 和 CAS 命令使用 aliyun CLI 产品插件模式,使用 kebab-case 子命令和全局 --region 参数。
  • 查询脚本自动以纯文本输出聚合分页结果,因此不会孤立显示第一页。
  • 使用 --json 时,查询脚本返回原始的 aliyun CLI JSON 响应,这对自动化很有用。
  • 写入脚本在执行前执行特定场景的预检查,例如实例状态、端口冲突和规则优先级冲突。

脚本

脚本用途
scripts/listloadbalancers.sh列出 ALB 实例并将负载均衡器名称解析为其 LoadBalancerId
scripts/getloadbalancer.sh
获取负载均衡器详细信息 | | scripts/list_listeners.sh | 列出监听器 | | scripts/get_listener.sh |

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 alibabacloud-network-alb-http-to-https-1775918591 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 alibabacloud-network-alb-http-to-https-1775918591 技能

通过命令行安装

skillhub install alibabacloud-network-alb-http-to-https-1775918591

下载

⬇ 下载 alibabacloud-network-alb-http-to-https v0.0.1-beta.1(免费)

文件大小: 27.62 KB | 发布时间: 2026-4-12 08:52

v0.0.1-beta.1 最新 2026-4-12 08:52
- Initial beta release of the skill for configuring HTTP-to-HTTPS redirects on Alibaba Cloud ALB.
- Supports inspecting current ALB listener and rule setup, and creating missing HTTP/HTTPS listeners as needed.
- Adds redirect rules to force HTTP (port 80) traffic to HTTPS (port 443).
- Includes detailed authentication, permission, and workflow instructions.
- Requires Alibaba Cloud CLI (>= 3.3.1) with relevant plugins and proper credentials.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large