同步操作将从 王三三/w21dsm_acme.sh 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
DSM_CERT_PATH
、DSM_CERT_INFO
两个初始环境变量,或者更改 CopyFile()
方法,以及 ReloadNginx()
方法。acme.sh --upgrade
如果你也因为和我遇到相同的问题导致 Let's Encrypt 证书申请失败,听一句劝!别踩坑! Download it! Run it!! Download it! Run it!! Download it! Run it!!
idn
可执行文件并修改 idn
相关环境变量以保证 idn
正常运行,若运行非x86
平台,请自行下载 idn
源码编译,下方提供几点关键信息以供参考:
IDNA 2008
和TR46
,需要的同学请对应下载)第35行
的relink_command
处)
主要修改环境变量 PATH
以及 LD_LIBRARY_PATH
以下为我的修改内容,供使用其他版本时参考
# 此处仅演示 libidn-1.19 版本中我所做的修改内容
W21_LIBIDN_ROOT_PATH=$(cd "$(dirname "$0")/..";pwd)
W21_LIBIDN_ROOT_SRC_PATH=$(cd "$(dirname "$0")";pwd)
relink_command="(cd $W21_LIBIDN_ROOT_SRC_PATH; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=\"$PATH\"; export PATH; gcc -g -O2 -o \$progdir/\$file idn.o idn_cmd.o ../lib/.libs/libidn.so ../gl/.libs/libgnu.a -Wl,--rpath -Wl,$W21_LIBIDN_ROOT_PATH/lib/.libs ) "
curl
过程中会导致域名验证失败
Ubuntu 的解决办法: sudo apt-get install libnss-tls
如果希望深入了解本脚本实现,了解以下几个关键信息或许能有所帮助:
/usr/syno/etc/rc.sysv/nginx.sh reload
jq
的使用AccessKey管理
新建子账户并保存好AccessKey ID
以及AccessKey Secret
之后,给刚创建的账户添加AliyunDNSFullAccess
授权我演示所用的文件目录为:/volume1/Tools/Tools/Encrypt/test/
1、更改config配置参数
打开config
文件按照注释内容进行修改即可
其它域名服务的API用法参考:acme.sh/wiki/dnsapi
2、复制脚本程序绝对路径
之后进入目录右键w21_acme.sh
文件查看属性,复制出脚本程序的绝对路径得到:/volume1/Tools/Tools/Encrypt/test/w21dsm_acme.sh/w21_acme.sh
如果希望全过程无需登录SSH,在添加任务计划时,时间选择比当前时间后一分钟,可以在添加完任务一分钟后立即执行,等待执行完毕之后,即可调整时间为每月一日自动执行,或者不作修改,等下一个周期自动执行,关键点如图中步骤:
/volume1/Tools/Tools/Encrypt/test/w21dsm_acme.sh/w21_acme.sh >> /volume1/Tools/Tools/Encrypt/test/w21dsm_acme.sh/run.log &
1、查看运行日志
等待时间触发任务计划,查看日志 /volume1/Tools/Tools/Encrypt/test/w21dsm_acme.sh/run.log
(即:上传的脚本根目录下的run.log
) 最后出现如下内容表示运行完成
[+] Copy certificate.
[*] Copying: example1.domain.com
[*] Set DSM certificate information.
[*] Copying: example2.domain.com
[*] Set DSM certificate information.
[-] Copy certificate finish.
alias-register stop/waiting
或者可以直接登录到SSH,可以使用sudo -s
切换到root账户运行此脚本
2、控制面板查看/设置证书列表
最后到控制面板查看证书即可
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。