核心概念:GA与证书之间的关系
首先,理解一个核心原则是至关重要的:全球加速器(GA)并不直接存储或管理SSL证书。
作为一个网络加速层,GA的HTTPS监听器功能依赖于后端服务,例如服务器负载均衡器(SLB)或您自己的源服务器,来处理SSL/TLS加密和解密。
因此,为GA配置HTTPS的过程实际上是为与您的GA后端关联的SLB实例配置HTTPS证书的过程。GA实例通过其HTTPS监听器接收加密流量,然后将该流量转发到已经配置了证书的后端SLB监听器。
以下是实现这一目标的两种主流且专业推荐的方法。
方案 1:使用阿里云的免费 SSL 证书服务(推荐)
这是最方便且高度集成的方法。阿里云SSL证书服务提供由DigiCert或TrustAsia颁发的免费DV(域名验证)单域名证书。这种方法的主要优点是与其他阿里云产品(如SLB)的无缝集成,以及对自动续订的支持,这大大简化了运营维护。
更新:目前已经没有免费的DV证书。请前往方案2。
步骤 1:购买并验证免费证书
登录到阿里云控制台:导航到SSL证书服务控制台。
购买证书:在概览页面上,点击“购买证书”。在购买页面上,选择“DV单域名”,选择“DigiCert”或“TrustAsia”作为品牌,然后选择“免费”版本。点击“立即购买”并完成支付流程(费用为$0.00)。更新:目前没有这两个品牌了,并且都需要收费。
专业提示:虽然这是免费的,但这个购买过程是生成系统中证书订单所必需的。
完成证书申请:
返回到 SSL 证书服务控制台,找到您刚刚创建的“待处理申请”订单,然后点击“申请”。
输入您希望通过 HTTPS 保护的域名,例如 secure.yourdomain.com。
选择一个域名验证方法。推荐使用“自动 DNS 验证”。如果您的域名由阿里云 DNS 管理,系统将自动添加 TXT 记录以验证您的域名所有权。否则,您需要在您的 DNS 提供商处手动添加指定的 TXT 记录。
提交后,请等待证书颁发机构(CA)完成审核。自动验证通常非常快速,仅需几分钟。
下载和部署:审核完成后,证书状态将更改为“已颁发”。此时您无需手动下载文件。
步骤 2:将证书部署到服务器负载均衡器 (SLB)
创建或选择一个SLB实例:
导航到服务器负载均衡器 (SLB) 控制台。
您必须拥有一个配置了后端服务器组的SLB实例,该组已经正确地通过HTTP提供流量。这是设置HTTPS的基础。
创建 HTTPS 监听器:
在您目标 SLB 实例的管理页面上,选择“监听器”选项卡,然后点击“添加监听器”。
监听协议:选择 HTTPS。
监听端口:使用标准端口 443。
SSL证书:选择“从SSL证书服务中选择证书”,然后从下拉列表中选择您刚申请的免费证书。
后端服务器:选择您的预配置服务器组。
完成剩余的配置(例如,调度算法、健康检查),然后点击“下一步”并确认。
步骤 3:配置全球加速器 (GA)
创建 GA 实例:
前往全球加速器(GA)控制台,购买并创建一个GA实例。选择适合您业务需求的规格。
Add a Listener:
在 GA 实例管理页面,选择“监听器”选项卡,然后点击“添加监听器”。
Protocol: Select HTTPS.
Port: Enter the port clients will use to connect, typically 443.
Client Affinity: Choose whether to preserve the source IP based on your application's requirements.
Configure an Endpoint Group:
为监听器配置一个端点组,选择您的后端服务所在的区域(例如,中国东部 1 - 杭州)。
Backend Service Type: Choose Alibaba Cloud SLB Instance.
Backend Service: Select the SLB instance on which you configured the HTTPS listener in Step 2.
完成配置。
步骤 4:DNS 配置
获取 CNAME:在 GA 实例成功创建后,系统将分配一个 CNAME 地址。您可以在实例详细信息页面找到它。
修改 DNS 记录:前往您的域名提供商的 DNS 管理面板。将您的服务域名(例如,secure.yourdomain.com)的 DNS 记录从 A 记录或现有的 CNAME 记录更改为 CNAME 记录,并指向您的 GA 实例分配的 CNAME 地址。
此时,配置已完成。流量将如下所示:
Client -> DNS resolves to GA IP -> GA Accelerated Network -> Backend SLB (HTTPS Decryption) -> Backend ECS Servers
方法 2:使用第三方免费证书(例如,Let's Encrypt)
如果您的域名没有托管在阿里云上,或者您有其他特定要求,您可以使用像 Let's Encrypt 这样的第三方免费证书提供商。此方法的主要区别在于证书申请和续期过程必须手动处理或通过脚本进行。
主要步骤
Generate the Certificate:
On your own server or local machine, use certbot or another ACME client to generate a certificate for your domain.
Best Practice: The DNS-01 challenge method is highly recommended, as it does not require opening any ports on your server and is more suitable for services behind a load balancer. You may use RAM role to authorize your ECS to automatically apply for HTTPS certificates every 90 days.
Example command using certbot: certbot certonly --manual --preferred-challenges dns -d secure.yourdomain.com
Follow the prompts to add the specified TXT record to your DNS to complete the validation. Upon success, you will receive the certificate file (fullchain.pem) and the private key file (privkey.pem).
Upload the Certificate to Alibaba Cloud:
Return to the Alibaba Cloud SSL Certificates Service console.
Select the "Upload Certificate" feature.
Paste the contents of your certificate (fullchain.pem) and your private key (privkey.pem) into the respective fields, give the certificate a name, and upload it.
Subsequent Steps:
The following steps are identical to Step 2 and Step 3 in Scenario 1. When creating the HTTPS listener on your SLB, simply select the certificate that you manually uploaded.
方法2的注意事项和最佳实践
证书续期:Let's Encrypt 证书的有效期为 90 天。您必须设置一个计划任务(例如,Cron 作业)以定期运行 certbot renew 命令。成功续期后,您需要使用阿里云 API 上传新证书并更新 SLB 监听器。这增加了操作复杂性。
自动化脚本:为了简化续订和上传过程,您可以编写自动化脚本。这些脚本将调用 Certbot 进行续订,然后使用阿里云 CLI 或 SDK 上传新证书并更新 SLB 监听器配置。
总结与专业建议
Feature | Scenario 1 (Alibaba Cloud Free Cert) | Scenario 2 (Let's Encrypt) |
Integration Level | High, seamless with the Alibaba Cloud ecosystem | Low, requires manual upload or API calls |
Automatic Renewal | Fully automatic (when enabled) | Requires custom scripts and scheduled tasks |
Operational Complexity | Low | Higher |
Certificate Type | DV Single Domain | DV Single/Wildcard Domain |
Recommended Scenario | The vast majority of cases, especially for users whose domains and DNS are on Alibaba Cloud | 具有强大自动化能力、需要通配符证书或特定合规要求的用户 |
对于几乎所有用户,方法 1 强烈推荐。它在阿里云内全面管理证书生命周期,让您可以专注于核心业务,避免因证书过期而导致的服务中断。
参考文献
Alibaba Cloud. Global Accelerator Documentation. "Listener overview." https://www.alibabacloud.com/help/en/global-accelerator/latest/listener-overview
Alibaba Cloud. Server Load Balancer Documentation. "Configure an HTTPS listener." https://www.alibabacloud.com/help/en/server-load-balancer/latest/add-an-https-listener
Alibaba Cloud. SSL Certificates Service Documentation. "Overview of free SSL certificates." https://www.alibabacloud.com/help/en/ssl-certificates-service/latest/overview-of-free-ssl-certificates
Certbot. "Instructions for Certbot." Electronic Frontier Foundation. https://certbot.eff.org/instructions
Our latest content
Check out what's new in our company !
我希望这本全面的指南能帮助您成功配置。如果您在过程中遇到任何具体问题,请随时询问。