使用mkcert自签CA,让本地域名拥有证书。
BrainSpace
2024-10-28
545 字
3 分钟

由于我把图床换到了Cloudflare R2缺少了可视化管理,几经周折挂载到了AList,但是遇到了一个棘手的问题,使用AList对文件打包的时候一直卡住或者报错。在查阅AList的官方文档后得知:

  • 打包下载失败: TypeError: Failed to fetch 是CORS设置的问题,通常需要将打包站点添加到白名单。

  • 虽然打包下载没有提示错误,但是一直卡在打包页面经过查阅AList文档得知是因为没有开启https。

如何给本地地址签发CA证书#

  • 下载安装 Go

以下命令需要使用管理员身份运行PowerShell

go version  //查询go是否已安装
go install filippo.io/mkcert@latest  //安装 mkcert
mkcert -version //查询mkcert是否已安装
mkcert -install  //创建并安装 mkcert 的根 CA 证书

我的AList在本地的小主机里面,并且环境中面有Nginx Proxy Manager,所以只演示Nginx Proxy Manager的配置方法。Nginx、Apache需要自行查找资料配置证书。

mkcert xxx.xx  //创建一个不常见的域名,在本地环境中使用。例如:mkcert cloud.nas.ru

webp

这样将为cloud.nas.ru生成一个用于本地的CA证书,证书类似于cloud.nas.ru.pem、cloud.nas.ru.pem,存放的目录,是当前命令行运行的目录。然后需要将cloud.nas.ru添加到hosts文件里面,例如你的AList在10.10.10.1应该这样添加:10.10.10.1 cloud.nas.ru

接下来需要将证书拷贝出来,使用Nginx Proxy Manager进行配置

webp

webp

将证书上传到Nginx Proxy Manager,再将域名反代即可。

webp

添加域名并配置 HTTPS 访问后,您可以直接通过https://cloud.nas.ru访问 AList 站点,这样就解决了 AList 在本地无法打包的问题。此外,mkcert 是用于本地环境测试的便捷工具,因为某些网站即使在本地环境下也要求通过 HTTPS 访问,否则可能会导致某些功能不可用。使用 mkcert,可以轻松地为本地站点添加 SSL 证书。

webp