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

为什么要这么做?

  1. 问题描述

    • 当用户通过 OSS 域名访问文件时,OSS 会在响应头中增加 Content-Disposition: attachment 和 x-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。如果没有安装,可以使用以下命令安装:

    sudo apt-get updatesudo apt-get install certbot

  2. 运行 Certbot 并选择 DNS 验证: 使用 Certbot 的 certonly 模式,并选择 --manual 和 --preferred-challenges dns 选项。这将要求你手动添加一个 DNS TXT 记录来验证域名所有权。

    sudo certbot certonly --manual --preferred-challenges dns -d aliyuncs.xxx.com

  3. 按照提示添加 DNS TXT 记录: Certbot 会生成一个 DNS TXT 记录,并要求你将其添加到你的域名的 DNS 配置中。以下是一个示例输出:

    Please deploy a DNS TXT record under the name_acme-challenge.aliyuncs.xxx.com with the following value:abcdefghijklmnopqrstuvwxyz1234567890Before continuing, verify the record is deployed.

  4. 添加 DNS TXT 记录: 登录到你的 DNS 提供商的管理控制台,找到 aliyuncs.xxx.com 的 DNS 配置,并添加一个 TXT 记录:

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

    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.pem 和 privkey.pem 文件。
  4. 启用 HTTPS: 在阿里云 OSS 控制台中启用 HTTPS,并选择你上传的证书。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/886020.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CTF-WEB:PHP伪协议用法总结

php:// 伪协议: php:// 是 PHP 中的一个虚拟协议(或称为流包装器),用于访问 PHP 内部流资源。它是 PHP 提供的内置流协议之一,允许你通过流(stream)方式访问 PHP 内部的数据流、文件或其他资源…

电脑浏览器打不开网页怎么办 浏览器无法访问网页解决方法

我们在使用电脑的时候,使用浏览器是经常的,很多用户在点开浏览器时,却遇到浏览器无法访问网页的情况。那么电脑浏览器打不开网页是什么原因呢?今天小编就给大家分享几个常见的原因和具体的解决方法,希望能对大家有所帮…

(干货)Jenkins使用kubernetes插件连接k8s的认证方式

#Kubernetes插件简介 Kubernetes 插件的目的是能够使用 Kubernetes 配合,实现动态配置 Jenkins 代理(使用 Kubernetes 调度机制来优化负载),在执行 Jenkins Job 构建时,Jenkins Master 会在 kubernetes 中创建一个 Sla…

C语言 | Leetcode C语言题解之第556题下一个更大元素III

题目&#xff1a; 题解&#xff1a; int nextGreaterElement(int n){int x n, cnt 1;for (; x > 10 && x / 10 % 10 > x % 10; x / 10) {cnt;}x / 10;if (x 0) {return -1;}int targetDigit x % 10;int x2 n, cnt2 0;for (; x2 % 10 < targetDigit; x2…

MySQL数据库:SQL语言入门 【下】(学习笔记)

5&#xff0c;TCL —— 事务控制语言&#xff08;Transaction Control Language&#xff09; 用于数据库的事务管理。 &#xff08;1&#xff09;事务的概念作用 事务&#xff08;Transaction&#xff09;指的是一个操作序列&#xff0c;该操作序列中的多个操作要么都做&#…

TDesign了解及使用

文章目录 1、概述2、快速开始2.1使用 npm 安装2.2通过 浏览器引入 安装2.3、使用 3、简单案例3.1 路由创建3.2、 页面创建3.3、 Table组件3.4、序号展示3.5、 图片展示及预览3.6、 性别字段处理 1、概述 TDesign 是腾讯推出的设计系统&#xff0c;旨在提供一致的设计语言和视觉…

计算机网络(11)和流量控制补充

这一篇对数据链路层中的和流量控制进行详细学习 流量控制&#xff08;Flow Control&#xff09;是计算机网络中确保数据流平稳传输的技术&#xff0c;旨在防止数据发送方发送过多数据&#xff0c;导致接收方的缓冲区溢出&#xff0c;进而造成数据丢失或传输失败。流量控制通常…

Spark:不能创建Managed表,External表已存在...

Spark数仓建表 1、Spark on Hive与Hive on Spark2、Spark数仓建表相关问题 1、Spark on Hive与Hive on Spark 1.1、Hive on Spark Hive默认使用MapReduce作为执行引擎&#xff0c;即Hive on MapReduce。实际上&#xff0c;Hive还可以使用Tez或Spark作为其执行引擎&#xff0c;…

可扩展架构与分层架构

可扩展架构 1 概述 软件系统与硬件/建筑系统最大的区别就是可以迭代升级和扩展&#xff0c;一个硬件生产出来后就不会进行改变&#xff0c;除非拿去售后维修&#xff0c;一个建筑完工后也不会改变其整体的结构&#xff0c;除非被破坏后进行修复和重铸 可以发现如果硬件/建筑不…

vue el-date-picker 日期选择 回显后成功后无法改变的解决办法

在实现一个前端页面默认时间选择时遇到了手动选择日期无法回显但在浏览器vue插件监控属性时却能看到手动选择的值的问题。 <el-date-pickerv-else-if"item.type datetPicker"v-model"form[item.prop]":placeholder"item.placeholder":picke…

MyBatis从入门到进阶

目录 MyBatis入门1、创建项目、数据准备2、数据库配置3、编写持久层代码单元测试打印日志 基本操作查询数据插入数据删除数据更新数据 MyBatis - xml插入数据更新数据删除数据查询数据#{}与${}SQL注入排序like查询 MyBatis进阶if标签trim标签where标签set标签foreach标签sql标签…

skywalking各项指标说明

全局指标 all_p99&#xff1a;所有服务响应时间的第99百分位数&#xff08;p99&#xff09;&#xff0c;即99%的请求响应时间都小于这个值。all_p95&#xff1a;所有服务响应时间的第95百分位数&#xff08;p95&#xff09;&#xff0c;即95%的请求响应时间都小于这个值。all_…

docker save 和 docker load介绍

让我详细介绍 docker save 和 docker load 命令的使用&#xff1a; docker save 命令&#xff1a; 作用&#xff1a;将一个或多个 Docker 镜像保存为 tar 归档文件常用格式&#xff1a; # 基本语法 docker save [options] image [image...] > output.tar# 保存单个镜像 d…

FreeSWITCH的介绍及应用

FreeSWITCH的介绍: 什么是FreeSWITCH FreeSWITCH是一个开源的电话软交换平台,用于构建语音通信系统,如IP - PBX(基于IP的专用交换分机)、呼叫中心等。它能够实现语音通话、视频通话、会议通话等多种通信功能,并且支持多种通信协议,包括SIP(Session Initiation Protocol…

TensorFlow 2.0 环境配置

官方文档&#xff1a;CUDA Installation Guide for Windows 官方文档有坑&#xff0c;windows的安装指南直接复制了linux的指南内容&#xff1a;忽略这些离谱的信息即可。 可以从官方文档知悉&#xff0c;cuda依赖特定版本的C编译器。但是我懒得为了一个编译器就下载整个visua…

浅谈:基于三维场景的视频融合方法

视频融合技术的出现可以追溯到 1996 年 , Paul Debevec等 提出了与视点相关的纹理混合方法 。 也就是说 &#xff0c; 现实的漫游效果不是从摄像机的角度来看 &#xff0c; 但其仍然存在很多困难 。基于三维场景的视频融合 &#xff0c; 因其直观等特效在视频监控等相关领域有着…

亚马逊评论爬虫+数据分析

爬取评论 做分析首先得有数据&#xff0c;数据是核心&#xff0c;而且要准确&#xff01; 1、爬虫必要步骤&#xff0c;选好框架 2、开发所需数据 3、最后测试流程 这里我所选框架是seleniumrequest&#xff0c;很多人觉得selenium慢&#xff0c;确实不快&#xff0c;仅针对此…

RK3588 C++ 多线程运行

RK3588 C 多线程 实际运行解决OpenCV问题&#xff1a; 1. OpenCV 安装 sudo apt-get update sudo apt-get install libopencv-dev2. 检查 OpenCV 安装路径 find / -name OpenCVConfig.cmake3. 设置 OpenCV_DIR 环境变量 export OpenCV_DIR/usr/lib/aarch64-linux-gnu/cmake/op…

【已解决】Parameter index out of range (14 > number of parameters, which is 13).

解决思路&#xff1a; 字面意思就是sql传参数量对不上&#xff0c;但我检查几遍代码都感觉没问题&#xff0c;sql单独拿到mysql里运行也没问题。看了其他的报错&#xff1a;Error setting non null for parameter #2 with JdbcType null&#xff0c;看起来也是跟参数有关的&am…

MDBook 使用指南

MDBook 是一个灵感来自 Gitbook 的强大工具&#xff0c;专门用于创建电子书和文档。它能够将 Markdown 编写的内容编译成静态网站&#xff0c;非常适合项目文档、教程和书籍的发布。 个人实践过许多文档方案&#xff0c;如 hexo、hugo、WordPress、docsify 和 mdbook 等&#…