给阿里云OSS绑定域名并启用SSL

为什么要这么做?

  1. 问题描述

    • 当用户通过 OSS 域名访问文件时,OSS 会在响应头中增加 Content-Disposition: attachmentx-oss-force-download: true,导致文件被强制下载而不是预览。
    • 这个问题特别影响在 2022/10/09 之后新开通 OSS 的用户。
  2. 解决方案

    • 通过自定义域名访问对象,可以避免 OSS 返回强制下载头。
    • 自定义域名需要指向阿里云 OSS,并且需要为这个域名获取 SSL 证书,以确保通过 HTTPS 安全访问。
  3. 步骤总结

    • 获取 SSL 证书:使用 Certbot 获取 SSL 证书,并通过 DNS 验证域名所有权。
    • 配置自定义域名:在阿里云 OSS 控制台中配置自定义域名,并上传 SSL 证书。
    • 启用 HTTPS:在阿里云 OSS 控制台中启用 HTTPS,并选择上传的证书。

自定义域名需要指向阿里云 OSS,并且你希望为这个域名获取 SSL 证书,可以使用 DNS 验证的方法来获取证书。以下是详细步骤:

关键前提:

关键是需要在阿里云控制台的域名 权威域名解析中添加子域名aliyuncs.xxx.com

使用 DNS 验证获取 SSL 证书

  1. 安装 Certbot: 确保你已经安装了 Certbot。如果没有安装,可以使用以下命令安装:

    bash 复制代码
    sudo apt-get update
    
    sudo apt-get install certbot
  2. 运行 Certbot 并选择 DNS 验证 : 使用 Certbot 的 certonly 模式,并选择 --manual--preferred-challenges dns 选项。这将要求你手动添加一个 DNS TXT 记录来验证域名所有权。

    bash 复制代码
    sudo certbot certonly --manual --preferred-challenges dns -d aliyuncs.xxx.com
  3. 按照提示添加 DNS TXT 记录: Certbot 会生成一个 DNS TXT 记录,并要求你将其添加到你的域名的 DNS 配置中。以下是一个示例输出:

    bash 复制代码
    Please deploy a DNS TXT record under the name
    
    _acme-challenge.aliyuncs.xxx.com with the following value:
    
    abcdefghijklmnopqrstuvwxyz1234567890
    
    Before continuing, verify the record is deployed.
  4. 添加 DNS TXT 记录 : 登录到你的 DNS 提供商的管理控制台,找到 aliyuncs.xxx.com 的 DNS 配置,并添加一个 TXT 记录:

    • 主机记录_acme-challenge
    • 记录类型TXT
    • 记录值 :Certbot 提供的值(例如 abcdefghijklmnopqrstuvwxyz1234567890
  5. 等待 DNS 记录生效: DNS 记录的生效时间可能需要几分钟到几小时。你可以使用以下命令检查 TXT 记录是否已经生效:

    bash 复制代码
    nslookup -q=txt _acme-challenge.aliyuncs.xxx.com
  6. 继续 Certbot 验证: 一旦确认 TXT 记录已经生效,返回到 Certbot 命令行并按 Enter 键继续。Certbot 将验证 DNS 记录并颁发证书。

  7. 证书生成成功 : 如果验证成功,Certbot 会生成证书并保存到默认路径(通常是 /etc/letsencrypt/live/aliyuncs.xxx.com/)。

配置阿里云 OSS 使用 SSL 证书

  1. 下载证书文件 : 证书文件通常位于 /etc/letsencrypt/live/aliyuncs.xxx.com/ 目录下,包括以下文件:

    • fullchain.pem:完整的证书链
    • privkey.pem:私钥
  2. 登录阿里云 OSS 控制台: 登录到阿里云 OSS 控制台,选择你的 Bucket。

  3. 配置自定义域名和 SSL 证书

    • 选择你的 Bucket,点击"域名管理"。
    • 添加或选择 aliyuncs.xxx.com 作为自定义域名。
    • 在"证书管理"中,上传 fullchain.pemprivkey.pem 文件。
  4. 启用 HTTPS: 在阿里云 OSS 控制台中启用 HTTPS,并选择你上传的证书。

相关推荐
翼龙云_cloud1 小时前
国际云代理商:2026年国际云注册风控升级实战指南 8 大平台无卡解决方案对比
服务器·阿里云·云计算
JoySSLLian3 小时前
手把手教你安装免费SSL证书(附宝塔/Nginx/Apache配置教程)
网络·人工智能·网络协议·tcp/ip·nginx·apache·ssl
阿里云大数据AI技术5 小时前
全模态、多引擎、一体化,阿里云DLF3.0构建Data+AI驱动的智能湖仓平台
人工智能·阿里云·云计算
摇滚侠5 小时前
阿里云安装的 Redis 在什么位置,如何找到 Redis 的安装位置
redis·阿里云·云计算
全栈工程师修炼指南8 小时前
Nginx | stream 四层反向代理:SSL、PREREAD 阶段模块指令浅析与实践
运维·网络·网络协议·nginx·ssl
m0_694845579 小时前
tinylisp 是什么?超轻量 Lisp 解释器编译与运行教程
服务器·开发语言·云计算·github·lisp
ESBK20259 小时前
第四届移动互联网、云计算与信息安全国际会议(MICCIS 2026)二轮征稿启动,诚邀全球学者共赴学术盛宴
大数据·网络·物联网·网络安全·云计算·密码学·信息与通信
_运维那些事儿1 天前
VM环境的CI/CD
linux·运维·网络·阿里云·ci/cd·docker·云计算
人间打气筒(Ada)1 天前
k8s:CNI网络插件flannel与calico
linux·云原生·容器·kubernetes·云计算·k8s
小白考证进阶中1 天前
阿里云ACA热门科目有哪些?考什么内容?
阿里云·阿里云认证·云计算运维·阿里云aca证书·阿里云aca认证·阿里云aca·aca证书