tencent cloud

云市场

产品动态
产品简介
产品概述
应用看板介绍
购买指南
用户指南
新手指引
应用商店应用使用指南
应用看板使用指南
服务商指南
上架流程概述
云市场入驻流程
制作和管理安装包
商品管理
订单管理
用户应用实例
常见问题
用户相关问题
Marketplace 政策
隐私协议
数据处理和安全协议
Tencent Cloud Marketplace User Agreement
Tencent Cloud Marketplace Products Cooperation Agreement
Tencent Cloud Marketplace End User License Agreement(Standard Version)
Marketplace Product Cancellation and Refund Rules
联系我们
词汇表

通过 CLB 提供 HTTPS 访问

PDF
聚焦模式
字号
最后更新时间: 2026-01-30 17:02:53
目前大部分应用,都会提供 HTTP 访问能力,如果希望帮助客户直接集成 HTTPS 的证书和域名绑定,可以参考本文档。

架构设计

按照下面的架构,来制作一个支持 HTTPS 访问的安装包。




声明安装参数

在 package.yaml 声明安装参数如下:
args:
- name: app_certification
label: SSL 证书
widget: certificate-select
optional: true
- name: app_domain
label: 域名
widget: domain-input
optional: true
certId: ${app_certification.certId}
对应安装表单效果:

通过 certificate-select 和 domain-input 声明了两个参数,分别接收客户的证书和域名输入。域名组件绑定证书 ID,可以帮助用户选择或者输入跟证书兼容的域名。

声明资源栈

在 variable.tf 添加两个变量,接收安装参数:
variable "app_certification" {
type = object({
certId = string
})
}

variable "app_domain" {
type = object({
domain = string
})
}
在 deployment.tf,声明 CLB 的实例、监听器和相应转发规则:
# 声明 CLB 实例
resource "tencentcloud_clb_instance" "open_clb" {
# 负载均衡实例的网络类型,OPEN:公网,INTERNAL:内网
network_type = "OPEN"
# 安全组
security_groups = [var.sg.security_group.id]
# VPC
vpc_id = var.app_target.vpc.id
# 子网
subnet_id = var.app_target.subnet.id
# 启用默认放通,即 Target 放通来自 CLB 的流量
load_balancer_pass_to_target = true
}

# 声明 CLB HTTPS 监听器
resource "tencentcloud_clb_listener" "https_listener" {
clb_id = tencentcloud_clb_instance.open_clb.id
listener_name = "https_listener"
# CLB 监听 443 端口,支持 HTTPS 访问
port = 443
protocol = "HTTPS"
# 这里使用安装参数里声明的证书
certificate_id = var.app_certification.certId
certificate_ssl_mode = "UNIDIRECTIONAL"
}

# 声明 CLB 转发规则
resource "tencentcloud_clb_listener_rule" "https_rule" {
clb_id = tencentcloud_clb_instance.open_clb.id
listener_id = tencentcloud_clb_listener.https_listener.id
# 这里配置为安装参数声明的域名,意思是当请求是这个域名的请求时,进行转发
domain = var.app_domain.domain
# 哪个路径转发,这里配置根路径,全站转发
url = "/"
}

# 声明 CLB 后端服务绑定,将命中转发规则的流量,转发到 CVM
resource "tencentcloud_clb_attachment" "clb_backend" {
clb_id = tencentcloud_clb_instance.open_clb.id
listener_id = tencentcloud_clb_listener.https_listener.id
rule_id = tencentcloud_clb_listener_rule.api_https_rule.id
targets {
# CVM 实例ID(需替换成真实的实例ID)
instance_id = tencentcloud_instance.demo_cvm[0].id
# 假设我们的 CVM 打开的是 3000 的 http 端口
port = 3000
# 权重
weight = 100
}
}

原理

CLB 这个产品设计是用作负载均衡,但也支持用作证书卸载。它对客户提供 HTTPS 的端口,然后,后端转发到软件的 HTTP 端口。



CLB 的几个资源,对应控制台界面如上图。其中,证书是挂在监听器中的:


完整示例

完整示例可以 访问 CNB 获取

其他方案

除 CLB 外,TKE 的七层 Service、CDNEdgeOne 等加速产品,也支持证书部署。后续云市场将提供更多整合示例供参考。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈