宝塔 Linux 面板在很久以前就添加了开启面板 HTTPS 访问的功能,但该选项默认是关闭的。然而在其最新的版本 9.1.0
中,使用最新的脚本全新安装的话会默认开启该选项。想要关掉也可以,不过既然官方都建议我们开启面板 HTTPS 访问,干脆就把它打开吧。
但是在官方的教程中却出现了一些奇怪的问题,在我的 MacBook Pro 中无法导入宝塔官方的根证书,按照教程内容下载了证书,并输入正确的密码 www.bt.cn
,却提示 对不起,你输入的密码无效。
在宝塔论坛找了一下相关内容,发现原来很多人也遇到了这个问题,baota_root.pfx
文件在 Windows 系统中都能导入成功,在 macOS 系统却一直提示密码无效,可能是 pxf 格式兼容问题,那就生成另一种兼容性好的证书。
首先将面板的证书下载到本地电脑,然后在 macOS 终端进入到该目录,为了确保 OpenSSL 是否已经存在于系统中,先使用 openssl version
命令查看一下版本号,可以看到我的版本号是 3.3.6。
然后使用以下命令创建另一个格式的证书,这条命令是使用 OpenSSL 从名为 baota_root.pfx
的 PKCS#12 文件中提取客户端证书,并将其保存为 certificate.crt
文件。需要注意的是,回车之后请输入证书密码 www.bt.cn
。
该命令具体内容如下:
openssl pkcs12
: 使用 OpenSSL 的pkcs12
子命令来处理 PKCS#12 文件。-in baota_root.pfx
: 指定输入文件,即名为baota_root.pfx
的文件。-clcerts
: 只提取客户端证书(而不是 CA 证书或私钥)。-nokeys
: 不提取私钥,仅提取证书。-out certificate.crt
: 指定输出文件的路径和名称,将提取到的客户端证书保存为certificate.crt
。
运行该命令后 baota_root.pfx
文件中的客户端证书将被提取并保存为 certificate.crt
文件,这个文件将会以 PEM 格式保存。
接下来回到访达,双击打开生成后的 certificate.crt
文件,会自动导入到钥匙串访问,双击打开该证书,在「信任」中设置「使用此证书时」为「始终信任」。
最后重启一下浏览器,可以看到宝塔面板的 SSL 证书已经处于正常状态,不会再提示不安全了。