# 无法备份到自定义 S3 端点，原因是 HTTPS 证书错误

**URL:** https://meta.discourse.org/t/unable-to-backup-to-custom-s3-endpoint-due-to-https-certificate-error/145821
**Category:** Self-hosting
**Tags:** backups, s3
**Created:** [2020年三月27日 15:06 UTC](https://meta.discourse.org/t/unable-to-backup-to-custom-s3-endpoint-due-to-https-certificate-error/145821 "2020-03-27T15:06:20Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![jaep](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jaep/32/174468_2.png) [@jaep](https://meta.discourse.org/u/jaep)
#### Post date: [2020年三月27日 15:06 UTC](https://meta.discourse.org/t/unable-to-backup-to-custom-s3-endpoint-due-to-https-certificate-error/145821/1 "2020-03-27T15:06:20Z")

</div>

你好，

我刚刚使用自定义 S3 端点（Scality）配置了 Discourse。不幸的是，备份因 SSL 错误而失败：

```plaintext
******************************试运行******************************
正在将 'default' 的上传文件迁移到 S3...
正在将文件上传到 S3...
 - 列出本地文件
.............. => 14025 个文件
 - 列出 S3 文件
rake aborted!
Seahorse::Client::NetworkingError: SSL_connect returned=1 errno=0 state=error: certificate verify failed (unspecified certificate verification error)

```

令人惊讶的是，当我通过浏览器连接到该端点时，SSL 证书显示为有效。

您有什么建议吗？

提前感谢

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [2020年三月29日 01:46 UTC](https://meta.discourse.org/t/unable-to-backup-to-custom-s3-endpoint-due-to-https-certificate-error/145821/2 "2020-03-29T01:46:50Z")

</div>

在该 URL 上使用 HTTPS 检查网站。

---

<div class="post-metadata">

### Author: ![jaep](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jaep/32/174468_2.png) [@jaep](https://meta.discourse.org/u/jaep)
#### Post date: [2020年三月30日 07:37 UTC](https://meta.discourse.org/t/unable-to-backup-to-custom-s3-endpoint-due-to-https-certificate-error/145821/3 "2020-03-30T07:37:19Z")

</div>

我们刚刚测试了我们的 S3 的 SSL 证书，没有发现任何异常。  
有没有办法提高客户端库的详细程度？

```plaintext
 通过套接字测试协议（NPN+ALPN 除外）
 SSLv2 未提供（OK）
 SSLv3 未提供（OK）
 TLS 1 已提供
 TLS 1.1 已提供
 TLS 1.2 已提供（OK）
 TLS 1.3 未提供
 NPN/SPDY http/1.1（已通告）
 ALPN/HTTP2 http/1.1（已提供）
 测试密码套件类别
 NULL 密码套件（无加密）未提供（OK）
 匿名 NULL 密码套件（无身份验证）未提供（OK）
 导出密码套件（不含 ADH+NULL）未提供（OK）
 低强度：64 位 + DES、RC[2,4]（不含导出）未提供（OK）
 三重 DES 密码套件 / IDEA 未提供（OK）
 平均：SEED + 128+256 位 CBC 密码套件已提供
 强加密（AEAD 密码套件）已提供（OK）
 测试强健（完美）前向保密性，(P)FS -- 省略 NULL 身份验证/加密、3DES、RC4
 已提供前向保密性（OK）ECDHE-RSA-AES256-GCM-SHA384
 ECDHE-RSA-AES256-SHA384 ECDHE-RSA-AES256-SHA
 ECDHE-RSA-CHACHA20-POLY1305
 ECDHE-RSA-CAMELLIA256-SHA384
 ECDHE-ARIA256-GCM-SHA384
 ECDHE-RSA-AES128-GCM-SHA256
 ECDHE-RSA-AES128-SHA256 ECDHE-RSA-AES128-SHA
 ECDHE-RSA-CAMELLIA128-SHA256
 ECDHE-ARIA128-GCM-SHA256
 已提供椭圆曲线：prime256v1 secp384r1 secp521r1 X25519 X448
 测试服务器偏好设置
 是否有服务器密码套件顺序？没有（NOT ok）
 协商协议 TLSv1.2
 协商密码套件 AES128-GCM-SHA256 -- 测试结果不确定，列表中缺少匹配的密码套件，请参见下文
 按协议协商的密码套件（列表中缺少匹配的密码套件）
 ECDHE-RSA-AES256-SHA: TLSv1, TLSv1.1
 ECDHE-RSA-AES256-GCM-SHA384: TLSv1.2
 由于顺序由客户端决定，未进行进一步的密码套件顺序检查
 测试服务器默认设置（Server Hello）
 TLS 扩展（标准）"renegotiation info/#65281"
 "EC point formats/#11" "session ticket/#35"
 "next protocol/#13172" "max fragment length/#1"
 "application layer protocol negotiation/#16"
 "encrypt-then-mac/#22"
 "extended master secret/#23"
 会话票据 RFC 5077 提示 300 秒，会话票据密钥似乎每天轮换 < 每天
 支持 SSL 会话 ID 是
 会话恢复票据 否，ID：否
 TLS 时钟偏差 随机值，无法进行指纹识别
 签名算法 SHA256 with RSA
 服务器密钥大小 RSA 2048 位
 服务器密钥用途 数字签名，密钥加密
 服务器扩展密钥用途 TLS Web 客户端身份验证，TLS Web 服务器身份验证
 序列号 / 指纹 115C7B3E0D604C7C48C6B1EC968C21955BB78242 / SHA1 39699B464489253565A2CFE7E037E497B3CB3380
 SHA256 87C308F50059D200EFAE86DCBA32BC3F3EB2154D397F3606BACCABE27F6A7594
 通用名称 (CN) *.epfl.ch
 subjectAltName (SAN) *.epfl.ch epfl.ch
 颁发者 QuoVadis Global SSL ICA G3（QuoVadis Limited，来自 BM）
 信任（主机名）通过 SAN 通配符和 CN 通配符（无 SNI 时相同）确认 OK
 信任链 OK
 EV 证书（实验性）否
 "eTLS"（可见性信息）未显示
 证书有效期（UTC）656 >= 60 天（2020-01-15 09:03 --> 2022-01-15 09:13）
 提供的证书数量 2
 证书吊销列表 http://crl.quovadisglobal.com/qvsslg3.crl，未吊销
 OCSP URI http://ocsp.quovadisglobal.com，未吊销
 OCSP 装订未提供
 OCSP 必须装订扩展 --
 DNS CAA RR（实验性）未提供
 证书透明度 是（证书扩展）
 测试 HTTP 头响应 @ "/"
 HTTP 状态码 403 Forbidden
 HTTP 时钟偏差 +3 秒（相对于本地时间）
 严格传输安全未提供
 公钥固定 --
 服务器横幅 nginx
 应用横幅 --
 Cookie（在 "/" 处未颁发）-- 也许可以尝试目标 URL 的 30x
 安全头 --
 反向代理横幅 --
 /
 测试漏洞
 Heartbleed (CVE-2014-0160) 未受漏洞影响（OK），无心跳扩展
 CCS (CVE-2014-0224) 未受漏洞影响（OK）
 Ticketbleed (CVE-2016-9244)，实验性。未受漏洞影响（OK）
 ROBOT 未受漏洞影响（OK）
 安全重新协商 (CVE-2009-3555) 未受漏洞影响（OK）
 安全客户端发起的重新协商 未受漏洞影响（OK）
 CRIME, TLS (CVE-2012-4929) 未受漏洞影响（OK）
 BREACH (CVE-2013-3587) 无 HTTP 压缩（OK）-- 仅测试了提供的 "/"
 POODLE, SSL (CVE-2014-3566) 未受漏洞影响（OK）
 TLS_FALLBACK_SCSV (RFC 7507) 支持降级攻击预防（OK）
 SWEET32 (CVE-2016-2183, CVE-2016-6329) 未受漏洞影响（OK）
 FREAK (CVE-2015-0204) 未受漏洞影响（OK）
 DROWN (CVE-2016-0800, CVE-2016-0703) 此主机和端口未受漏洞影响（OK）
 确保您不在其他地方将此证书与启用 SSLv2 的服务一起使用
 https://censys.io/ipv4?q=87C308F50059D200EFAE86DCBA32BC3F3EB2154D397F3606BACCABE27F6A7594 可帮助您查找
 LOGJAM (CVE-2015-4000)，实验性未受漏洞影响（OK）：无 DH 导出密码套件，未检测到 <= TLS 1.2 的 DH 密钥
 BEAST (CVE-2011-3389) TLS1: ECDHE-RSA-AES256-SHA
 AES256-SHA CAMELLIA256-SHA
 ECDHE-RSA-AES128-SHA
 AES128-SHA CAMELLIA128-SHA
 易受攻击 -- 但也支持更高协议 TLSv1.1 TLSv1.2（可能已缓解）
 LUCKY13 (CVE-2013-0169)，实验性可能易受攻击，使用 TLS 的密码块链接 (CBC) 密码套件。请检查补丁
 RC4 (CVE-2013-2566, CVE-2015-2808) 未检测到 RC4 密码套件（OK）
 通过 OpenSSL 和套接字对服务器运行 370 个密码套件测试，按加密强度排序
十六进制代码 密码套件名称 (OpenSSL) 密钥交换 加密 位数 密码套件名称 (IANA/RFC)
-----------------------------------------------------------------------------------------------------------------------------
 xc030 ECDHE-RSA-AES256-GCM-SHA384 ECDH 253 AESGCM 256 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
 xc028 ECDHE-RSA-AES256-SHA384 ECDH 253 AES 256 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
 xc014 ECDHE-RSA-AES256-SHA ECDH 253 AES 256 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
 xcca8 ECDHE-RSA-CHACHA20-POLY1305 ECDH 253 ChaCha20 256 TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
 xc077 ECDHE-RSA-CAMELLIA256-SHA384 ECDH 253 Camellia 256 TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384
 x9d AES256-GCM-SHA384 RSA AESGCM 256 TLS_RSA_WITH_AES_256_GCM_SHA384
 xc0a1 AES256-CCM8 RSA AESCCM8 256 TLS_RSA_WITH_AES_256_CCM_8
 xc09d AES256-CCM RSA AESCCM 256 TLS_RSA_WITH_AES_256_CCM
 x3d AES256-SHA256 RSA AES 256 TLS_RSA_WITH_AES_256_CBC_SHA256
 x35 AES256-SHA RSA AES 256 TLS_RSA_WITH_AES_256_CBC_SHA
 xc0 CAMELLIA256-SHA256 RSA Camellia 256 TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256
 x84 CAMELLIA256-SHA RSA Camellia 256 TLS_RSA_WITH_CAMELLIA_256_CBC_SHA
 xc051 ARIA256-GCM-SHA384 RSA ARIAGCM 256 TLS_RSA_WITH_ARIA_256_GCM_SHA384
 xc061 ECDHE-ARIA256-GCM-SHA384 ECDH 253 ARIAGCM 256 TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384
 xc02f ECDHE-RSA-AES128-GCM-SHA256 ECDH 253 AESGCM 128 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
 xc027 ECDHE-RSA-AES128-SHA256 ECDH 253 AES 128 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
 xc013 ECDHE-RSA-AES128-SHA ECDH 253 AES 128 TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
 xc0a0 AES128-CCM8 RSA AESCCM8 128 TLS_RSA_WITH_AES_128_CCM_8
 xc09c AES128-CCM RSA AESCCM 128 TLS_RSA_WITH_AES_128_CCM
 xc076 ECDHE-RSA-CAMELLIA128-SHA256 ECDH 253 Camellia 128 TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256
 x9c AES128-GCM-SHA256 RSA AESGCM 128 TLS_RSA_WITH_AES_128_GCM_SHA256
 x3c AES128-SHA256 RSA AES 128 TLS_RSA_WITH_AES_128_CBC_SHA256
 x2f AES128-SHA RSA AES 128 TLS_RSA_WITH_AES_128_CBC_SHA
 xba CAMELLIA128-SHA256 RSA Camellia 128 TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256
 x41 CAMELLIA128-SHA RSA Camellia 128 TLS_RSA_WITH_CAMELLIA_128_CBC_SHA
 xc050 ARIA128-GCM-SHA256 RSA ARIAGCM 128 TLS_RSA_WITH_ARIA_128_GCM_SHA256
 xc060 ECDHE-ARIA128-GCM-SHA256 ECDH 253 ARIAGCM 128 TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256
 通过套接字运行客户端模拟（HTTP）
 Android 4.2.2 TLSv1.0 ECDHE-RSA-AES256-SHA, 521 位 ECDH (P-521)
 Android 4.4.2 TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 521 位 ECDH (P-521)
 Android 5.0.0 TLSv1.2 ECDHE-RSA-AES256-SHA, 521 位 ECDH (P-521)
 Android 6.0 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256, 256 位 ECDH (P-256)
 Android 7.0 TLSv1.2 ECDHE-RSA-CHACHA20-POLY1305, 253 位 ECDH (X25519)
 Chrome 65 Win 7 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256, 253 位 ECDH (X25519)
 Chrome 70 Win 10 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256, 253 位 ECDH (X25519)
 Firefox 59 Win 7 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256, 253 位 ECDH (X25519)
 Firefox 62 Win 7 TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256, 253 位 ECDH (X25519)
 IE 6 XP 无连接
 IE 7 Vista TLSv1.0 AES128-SHA, 无前向保密性
 IE 8 Win 7 TLSv1.0 AES128-SHA, 无前向保密性
 IE 8 XP 无连接
 IE 11 Win 7 TLSv1.2 ECDHE-RSA-AES256-SHA384, 256 位 ECDH (P-256)
 IE 11 Win 8.1 TLSv1.2 ECDHE-RSA-AES256-SHA384, 256 位 ECDH (P-256)
 IE 11 Win Phone 8.1 TLSv1.2 AES128-SHA256, 无前向保密性
 IE 11 Win 10 TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 256 位 ECDH (P-256)
 Edge 13 Win 10 TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 256 位 ECDH (P-256)
 Edge 13 Win Phone 10 TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 256 位 ECDH (P-256)
 Edge 15 Win 10 TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 253 位 ECDH (X25519)
 Opera 17 Win 7 TLSv1.2 ECDHE-RSA-AES256-SHA, 256 位 ECDH (P-256)
 Safari 9 iOS 9 TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 256 位 ECDH (P-256)
 Safari 9 OS X 10.11 TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 256 位 ECDH (P-256)
 Safari 10 OS X 10.12 TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 256 位 ECDH (P-256)
 Apple ATS 9 iOS 9 TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 256 位 ECDH (P-256)
 Tor 17.0.9 Win 7 TLSv1.0 ECDHE-RSA-AES256-SHA, 256 位 ECDH (P-256)
 Java 6u45 TLSv1.0 AES128-SHA, 无前向保密性
 Java 7u25 TLSv1.0 ECDHE-RSA-AES128-SHA, 256 位 ECDH (P-256)
 Java 8u161 TLSv1.2 ECDHE-RSA-AES256-SHA384, 256 位 ECDH (P-256)
 Java 9.0.4 TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 256 位 ECDH (P-256)
 OpenSSL 1.0.1l TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 521 位 ECDH (P-521)
 OpenSSL 1.0.2e TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384, 256 位 ECDH (P-256)

```

---

<div class="post-metadata">

### Author: ![Stephen](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/stephen/32/95011_2.png) [@Stephen](https://meta.discourse.org/u/Stephen)
#### Post date: [2020年三月30日 07:40 UTC](https://meta.discourse.org/t/unable-to-backup-to-custom-s3-endpoint-due-to-https-certificate-error/145821/4 "2020-03-30T07:40:47Z")

</div>

您正在尝试使用的端点的 FQDN 是什么？它是 epfl.ch 的子域名吗？

---

<div class="post-metadata">

### Author: ![jaep](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jaep/32/174468_2.png) [@jaep](https://meta.discourse.org/u/jaep)
#### Post date: [2020年三月30日 07:41 UTC](https://meta.discourse.org/t/unable-to-backup-to-custom-s3-endpoint-due-to-https-certificate-error/145821/5 "2020-03-30T07:41:18Z")

</div>

当然：s3.epfl.ch

---

<div class="post-metadata">

### Author: ![binarymason](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/binarymason/32/120311_2.png) [@binarymason](https://meta.discourse.org/u/binarymason)
#### Post date: [2020年七月29日 14:12 UTC](https://meta.discourse.org/t/unable-to-backup-to-custom-s3-endpoint-due-to-https-certificate-error/145821/6 "2020-07-29T14:12:19Z")

</div>

大家好。

我在自托管的 MinIO 实例上也遇到了这个问题。

你们是否愿意支持类似 `s3_verify_ssl` 的布尔选项用于 S3 连接？

谢谢！

---

<div class="post-metadata">

### Author: ![Falco](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/falco/32/179432_2.png) [@Falco](https://meta.discourse.org/u/Falco)
#### Post date: [2020年七月29日 18:54 UTC](https://meta.discourse.org/t/unable-to-backup-to-custom-s3-endpoint-due-to-https-certificate-error/145821/7 "2020-07-29T18:54:06Z")

</div>

我强烈建议您为所有需求使用有效的 SSL 证书。MinIO 配合 Let’s Encrypt 证书在反向代理后也能正常运行。

---

<div class="post-metadata">

### Author: ![arrowcircle](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arrowcircle/32/100035_2.png) [@arrowcircle](https://meta.discourse.org/u/arrowcircle)
#### Post date: [2020年七月30日 09:16 UTC](https://meta.discourse.org/t/unable-to-backup-to-custom-s3-endpoint-due-to-https-certificate-error/145821/8 "2020-07-30T09:16:54Z")

</div>

我遇到了同样的问题。尝试将备份设置到 MinIO，但收到了相同的错误。

端点看起来是 `s3.k8s.domain.com`。`domain.com` 和 `s3.k8s.domain.com` 都拥有由 Let’s Encrypt 颁发的有效证书，但 `k8s.domain.com` 没有证书。

如何解决这个问题？
