我已经编写了一个使用php和aws sdk的启动脚本,它调用相关的userdata.sh脚本来设置aws实例。部分脚本功能是通过let加密设置ssl证书,安装后加密并对ip等进行更改最终调用:
echo $(/opt/letsencrypt/certbot-auto certonly --webroot -w /var/www/html/$host.com/$environment.$domain.com -d $environment.$domain.com -d www.$environment.$domain.com -c /opt/letsencrypt/config.ini --agree-tos -n --dry-run)
以上回报:
请求使用root权限重新运行/ opt / letsencrypt / certbot-auto ...将调试日志保存到/var/log/letsencrypt/letsencrypt.log选择的插件:Authenticator webroot,安装程序无证书无法续订,但模拟续订干燥运行续订现有证书执行以下挑战:http:01 challenge for environment.domain.com挑战www.environment.domain.com的http-01挑战使用webroot路径/var/www/html/host.com/environment.domain .com适用于所有不匹配的域名。等待验证......清理挑战
重要注意事项: - 干运行成功。
我想在没有--dry-run
标志的情况下再次尝试运行相同的命令之前验证测试是否成功。我怎样才能做到这一点?
希望这将有助于其他人:
$testval = /opt/letsencrypt/certbot-auto certonly --webroot -w /var/www/html/$host.com/$environment.$domain.com -d $environment.$domain.com -d www.$environment.$domain.com -c /opt/letsencrypt/config.ini --agree-tos -n --dry-run
if [[ $($testval) == *" - The dry run was successful."* ]]; then
echo "true";
else
echo "false";
fi