alist杂谈

杂谈

alist 的相关目录配置全部都在 /opt/alist 目录下,这里可以配置相关的比如: - https 设置 (即证书的设置) - 端口设置 - 密码设置 (高版本已经不行了)


谈到有关证书的事情,我这个 alist 服务器有关 https 访问,就要申请 ssl 证书。那么就要将相关的情况分类说明:

情况一

你的 cloudflare 代理不是仅 DNS 的 (即你的云朵是橙色的), 这就要看你的加密方式是什么了 (在 边缘证书 那里可以看到相关设置)

Cloudflare 提供三种主要的 SSL/TLS 模式,决定了 Cloudflare 与源站之间的连接方式:

  1. 灵活(Flexible):​浏览器与 Cloudflare 之间使用 HTTPS,但 Cloudflare 与源站之间使用 HTTP。​

  2. 完全(Full):​浏览器与 Cloudflare 之间使用 HTTPS,Cloudflare 与源站之间也使用 HTTPS,但不验证源站证书的有效性。​

  3. 完全(严格)(Full (Strict)):​浏览器与 Cloudflare 之间使用 HTTPS,Cloudflare 与源站之间也使用 HTTPS,并且验证源站证书的有效性(必须是受信任的 CA 签发的有效证书)。

在“完全(严格)”模式下,Cloudflare 会验证你服务器上的 SSL 证书是否有效且由受信任的证书颁发机构(CA)签发。​如果你使用 Let’s Encrypt 证书,并确保其未过期,Cloudflare 将接受该证书。​

所以,如果你想设置 cloudflare 的证书,你就要自己手动设置相关的还有续期也要分不同情况来决定是否会自动续期.

情况二

你的 cloudflare 代理是仅 DNS 的 (即你的云朵是灰色的)

我的服务器是通过 cerbot 这个来申请 ssl 证书的,他的相关配置文件存储在 /etc/letsencrypt

  • /etc/letsencrypt/live/yourdomain/:包含实际使用的证书文件的符号链接。​ 以下是先骨干目录结构内容:

  • fullchain.pem:完整的证书链,供服务器使用。​

  • privkey.pem:私钥文件。​

  • /etc/letsencrypt/archive/yourdomain/:存储所有历史版本的证书和私钥。​

  • /etc/letsencrypt/renewal/yourdomain.conf:包含续期所需的配置信息。​

  • /var/log/letsencrypt/letsencrypt.log:Certbot 的日志文件,记录操作过程和错误信息。

以下是通过 cerbot 申请 ssl 证书步骤:

  1. 申请 SSL 证书: 通过 standalone 模式申请证书:(因为我不是使用 nginx 的,所以是 standalone 模式)

    1
    sudo cerbot certonly --standalone -d alist.050626.xyz

  2. 验证过程: Certbot 会启动一个临时的 web 服务器,向 Let's Encrypt 证明你拥有该域名。验证完成后,它会生成证书并保存在 /etc/letsencrypt/live/yourdomain.com/ 目录下。

  3. 证书自动续期: Certbot 会自动配置一个 cron 任务来定期检查并续期证书。验证证书是否会自动续期:

    1
    sudo cerbot renew --dry-run

  4. 配置定时任务:

    1
    sudo crontab -e

每天检查证书并进行续期 (如果需要), 然后重启 alist

1
0 0 * * * certbot renew --quiet && systemctl restart alist

然后有了证书之后,就在 /opt/alist/data 目录下:

cert_file 以及 key_file 上放置相关配置文件

例如:

1
2
"cert_file": "/etc/letsencrypt/live/alist.050626.xyz/fullchain.pem",
"key_file": "/etc/letsencrypt/live/alist.050626.xyz/privkey.pem",

alist杂谈
http://example.com/2025/04/20/alist配置/
作者
JunBin Liang
发布于
2025年4月20日
许可协议