DirectAdmin开启SSL并配置Let's Encrypt自动生成HTTPS证书

本文主要介绍DirectAdmin中开启SSL功能,并配置生成Let’s Encrypt免费SSL证书。

DirectAdmin开启SSL

首先必须开启SNI功能,以支持单IP绑定多个证书。官方帮助文档见:Allow SNI for shared IP SSL certificates
简单来说,就是在DA配置文件/usr/local/directadmin/conf/directadmin.conf中添加行语句:
enable_ssl_sni=1

DirectAdmin开启自动配置Let’s Encrypt免费证书

详见官方文档:How to enable LetsEncrypt
简单来说,就是在DA配置文件/usr/local/directadmin/conf/directadmin.conf中添加行语句:
letsencrypt=1

开启SSL和配置好Let’s Encrypt自动证书后,需要重启DA:

echo "action=directadmin&value=restart" >> /usr/local/directadmin/data/task.queue; /usr/local/directadmin/dataskq d2000

然后重写主机配置,主要是要把.well-known做指向

cd /usr/local/directadmin/custombuild
./build rewrite_confs

官方还建议做一次更新检测,新装的环境一般没必要。老环境升级建议做:

cd /usr/local/directadmin/custombuild
./build update
./build letsencrypt

做好如上配置后,在用户控制面板中,能看到SSL图标。

生成与配置域名证书

首先要做域名解析。必须要把裸域@和主机www都解析到服务器的IP上。经测试通畅后,在进行后面的操作。
进入用户控制面板,点击SSL图标进入配置,地址一般应该是 //www.directadmin.com:8888/CMD_SSL?domain=abc.com
点击 Generate new certificate,然后选 Free & automatic certificate from Let's Encrypt


如图所示,这里面重要的是email地址不能乱写,必须写一个真实存在的可以接收邮件的地址。密钥长度肯定是越长越好,选4096和SHA256加密。

下一步要选域名了,按需选择,但是裸域是必选的。默认选了裸域和www主机名。

点确定保存即可。

此后DA会进行自动生成操作。如果出现错误,一般是域名没解析、Email地址不对、.well-known没找到之类的问题。

点赞