本文主要介绍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没找到之类的问题。