Directadmin使用Let’s encrypt 后台https登陆 并配置用户一键开启SSL

首先开启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的选项

da4.png

以上参考官方链接: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

总算完成了,累死我了。。。匿了

发表评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据