首先开启SNI,以支持多个证书绑定一个IP
echo enable_ssl_sni=1 >> /usr/local/directadmin/conf/directadmin.conf
加入开启Letsencryp自动配置项
echo letsencrypt=1 >> /usr/local/directadmin/conf/directadmin.conf
重启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
以上配置好后可以在用户面板看到Let’s encrypt SSL的选项
以上参考官方链接:https://help.directadmin.com/item.php?id=648
但到这里还不是万事OK,我测试的时候发现并不到正常获取证书,提示以下错误
/usr/local/directadmin/scripts/letsencrypt.sh: line 81: dig: command not found
用以下命令解决问题
apt-get install dnsutils
之后还是有问题,提示如下
Nonce is empty. Exiting.
官方解决办法在这 链接:https://help.directadmin.com/item.php?id=664
cd /usr/local/directadmin/custombuild
./build update
./build curl
因为我的系统是Debian7 (centos可不用做此步骤) 还需要修改/etc/ld.so.conf
vi /etc/ld.so.conf
# 把/usr/local/lib/位置调到include /etc/ld.so.conf.d/*.conf上面,最终看起来如下
/usr/local/lib
/usr/local/mysql/lib
include /etc/ld.so.conf.d/*.conf
# 改好之后用如下命令保存
ldconfig
再获取证书就正常了。
再配置后台SSL登陆,提升安全系数
参考链接: https://help.directadmin.com/item.php?id=629
首先获取证书
cd /usr/local/directadmin/scripts
./letsencrypt.sh request your.hostname.com 4096
修改DA的配置项开启SSL后台登陆
cd /usr/local/directadmin/conf
perl -pi -e 's/SSL=0/SSL=1/' directadmin.conf
echo "carootcert=/usr/local/directadmin/conf/carootcert.pem" >> directadmin.conf
echo "force_hostname=your.hostname.com" >> directadmin.conf
echo "ssl_redirect_host=your.hostname.com" >> directadmin.conf
重启DA以使用配置生效
service directadmin restart
总算完成了,累死我了。。。匿了