<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Cloudreve on 豆子技术站</title><link>https://blog.91demo.top/tags/cloudreve.html</link><description>Recent content in Cloudreve on 豆子技术站</description><generator>Hugo -- 0.155.1</generator><language>zh-cn</language><lastBuildDate>Wed, 11 Mar 2026 08:00:00 +0800</lastBuildDate><atom:link href="https://blog.91demo.top/tags/cloudreve/index.xml" rel="self" type="application/rss+xml"/><item><title>解决 Cloudreve 无法通过 HTTPS 连接自签名证书 MinIO</title><link>https://blog.91demo.top/devops/cloudreves3.html</link><pubDate>Wed, 11 Mar 2026 08:00:00 +0800</pubDate><guid>https://blog.91demo.top/devops/cloudreves3.html</guid><description>&lt;h2 id="背景与问题描述"&gt;背景与问题描述&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://github.com/cloudreve/cloudreve"&gt;Cloudreve&lt;/a&gt;是一个自托管文件管理与共享系统，支持多存储提供商。&lt;/p&gt;
&lt;p&gt;在部署 Cloudreve 存储策略时，我们需要集成内网环境下的 MinIO S3 服务。由于 MinIO 部署在内网并配合内网穿透暴露至公网，且使用了自签名证书，我们在配置完成后发现客户端无法正常上传文件。&lt;/p&gt;
&lt;h3 id="初步排查"&gt;初步排查：&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;确认内网穿透链路正常。&lt;/li&gt;
&lt;li&gt;使用 MinIO 客户端工具 mc 测试，发现必须带上 &amp;ndash;insecure 参数才能正常访问，明确了核心矛盾在于 SSL 证书验证失败。&lt;/li&gt;
&lt;li&gt;尝试将证书放置在自定义目录并使用 mc &amp;ndash;config-dir 指定，虽能连接成功，但 Cloudreve 无法直接复用该配置，且即便在同目录下放置证书也未能生效。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="最终方案"&gt;最终方案：&lt;/h3&gt;
&lt;p&gt;将自定义 CA 证书导入系统信任库，使 Cloudreve（Go 环境）能够原生识别。&lt;/p&gt;
&lt;h2 id="解决方案在-centos-系统中安装并激活自定义证书"&gt;解决方案：在 CentOS 系统中安装并激活自定义证书&lt;/h2&gt;
&lt;h3 id="1检查证书是否pem格式"&gt;1，检查证书是否PEM格式？&lt;/h3&gt;
&lt;p&gt;Go 程序通常识别PEM格式的证书。&lt;br&gt;
使用以下命令检查证书文件（如public.crt）：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;cat public.crt
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;如果开头是 &amp;mdash;&amp;ndash;BEGIN CERTIFICATE&amp;mdash;&amp;ndash;，则是 PEM 格式。&lt;/li&gt;
&lt;li&gt;如果是一堆乱码，则是 DER 格式。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;需要转换为PEM格式：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;openssl x509 -inform der -in public.crt -out public.pem
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="2放置证书"&gt;2，放置证书&lt;/h3&gt;
&lt;p&gt;在CentOS Linux中，需要将证书文件放在/etc/pki/ca-trust/source/anchors/目录下，并且后缀必须为.crt。如果文件名为public.pem，需要改为public.crt。&lt;/p&gt;
&lt;p&gt;确认文件是否放置正确？&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;ls /etc/pki/ca-trust/source/anchors/
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;输出中应包含我们的证书。&lt;/p&gt;
&lt;h3 id="3激活证书"&gt;3，激活证书&lt;/h3&gt;
&lt;p&gt;执行以下命令激活，让系统重新扫描目录并生成全局信任束，依次执行：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;update-ca-trust extract
update-ca-trust
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="4验证证书是否激活成功"&gt;4，验证证书是否激活成功&lt;/h3&gt;
&lt;p&gt;检查系统全局证书合集&lt;code&gt;ca-bundle.crt&lt;/code&gt;是否已包含你的证书信息：&lt;/p&gt;</description></item></channel></rss>