找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888广告投放联系QQ68610888
查看: 4478|回复: 7

梅林软件中心Let’s Encrypt插件同时为主&泛域名申请证书

[复制链接]
发表于 2021-11-19 14:08 | 显示全部楼层 |阅读模式
本帖最后由 cjchome 于 2021-11-19 22:04 编辑

本方法仅针对华硕固件软件中心Let's Encrypt插件进行修改,用命令行自行申请证书的不在此范畴。

本人不太喜欢输www.example.com这样的域名,所以对自己的域名是用@解析的,只解析主域名example.com
但华硕固件384软件中心的Let's Encrypt插件不支持仅对主域名申请证书

而用“*”对泛域名进行解析的话,*.example.com是不包括example.com的,两者有区别,所以*.example.com的证书example.com不能用。
既然插件的WebUI不让仅对主域名进行设置,我们就从后台脚本入手。

Let's Encrypt是用acme申请证书的,用WinSCP SSH登录路由,通过搜索acme*搜索acme相关文件,找到其中acme_config.sh脚本
acme_config.sh位于/jffs/.koolshare/scripts/(.koolshare是隐藏属性,找不到的话,就从/koolshare/scripts/进入)
双击打开看了一下,果然申请、安装和管理证书的指令在这个脚本文件当中
其中有调用到acme.sh申请证书的指令有两处,一处在start_issue()函数,另一处在install_cert()函数,
在以下三条指令加入对主域名申请证书的参数-d $acme_domain,可以同时为主域名和泛域名申请证书:

原代码:
  1. start_issue(){
  2. ...
  3.         #./acme.sh --home "$acme_root" --issue --dns $dnsapi -d $acme_domain -d $acme_subdomain.$acme_domain --use-wget --log-level 2 --debug
  4.         ./acme.sh --home "${acme_root}" --issue --dns ${dnsapi} -d ${acme_subdomain}.${acme_domain} --use-wget --insecure
  5. }

  6. install_cert(){
  7. ...
  8.         # install into multi path
  9.         ./acme.sh --home "${acme_root}" --installcert -d ${acme_subdomain}.${acme_domain} --key-file /tmp/etc/key.pem --cert-file /tmp/etc/cert.pem
  10.         ./acme.sh --home "${acme_root}" --installcert -d ${acme_subdomain}.${acme_domain} --key-file /jffs/ssl/key.pem --cert-file /jffs/ssl/cert.pem
  11.         ./acme.sh --home "${acme_root}" --installcert -d ${acme_subdomain}.${acme_domain} --key-file /jffs/etc/key.pem --cert-file /jffs/etc/cert.pem
  12. ...
  13. }
复制代码

修改为:
  1. start_issue(){
  2. ...
  3.         #./acme.sh --home "$acme_root" --issue --dns $dnsapi -d $acme_domain -d $acme_subdomain.$acme_domain --use-wget --log-level 2 --debug     #这行被注释了,可以不改
  4.         ./acme.sh --home "${acme_root}" --issue --dns ${dnsapi} -d ${acme_subdomain}.${acme_domain} -d ${acme_domain} --use-wget --insecure
  5. }

  6. install_cert(){
  7. ...
  8.         # install into multi path
  9.         ./acme.sh --home "${acme_root}" --installcert -d ${acme_subdomain}.${acme_domain} -d ${acme_domain} --key-file /tmp/etc/key.pem --cert-file /tmp/etc/cert.pem
  10.         ./acme.sh --home "${acme_root}" --installcert -d ${acme_subdomain}.${acme_domain} -d ${acme_domain} --key-file /jffs/ssl/key.pem --cert-file /jffs/ssl/cert.pem
  11.         ./acme.sh --home "${acme_root}" --installcert -d ${acme_subdomain}.${acme_domain} -d ${acme_domain} --key-file /jffs/etc/key.pem --cert-file /jffs/etc/cert.pem
  12. ...
  13. }
复制代码

注意:修改加入的-d $acme_domain参数一定要放在-d $acme_subdomain.$acme_domain参数之后,因为这个脚本原设计就是会根据第一个-d参数生成证书目录名称,下次开启服务时如果在/koolshare/acme/找不到类似*.example.com格式的目录及目录内之相应文件,就会调用del_all_cert函数删除所有证书。如果将参数-d $acme_domain放前面,生成的文件夹是example.com而不是*.example.com,这会使脚本识别不到相应文件存在而导致证书被删除。

修改完成后保存,再到Let's Encrypt插件的WebUI重新申请证书,不出意外的话几分钟后提示成功,就可以试试用https://example.com访问一下你路由的Web服务了,浏览器地址栏前面有个小锁就说明已经是安全链接了。



只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2021-12-3 02:20 | 显示全部楼层
本帖最后由 阿飘 于 2021-12-3 02:28 编辑

感谢分享 免费的ddns能这样用吗?或者二级域名呢?

点评

免费的DDNS可以用,但二级域名不行  详情 回复 发表于 2021-12-3 10:46
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-12-3 10:46 | 显示全部楼层
阿飘 发表于 2021-12-3 02:20
感谢分享 免费的ddns能这样用吗?或者二级域名呢?

免费的DDNS可以用,但二级域名不行
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2021-12-3 22:09 | 显示全部楼层
蛮纠结的 这样的话 没得选免费ddns呀  



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-7-7 13:27 | 显示全部楼层
请教一下,域名那里该怎么填?第一个格子填*吗?还是把主域名拆开填

点评

填*,修改后的插件会同时为主&泛域名申请证书  详情 回复 发表于 2023-7-7 13:42
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-7 13:42 | 显示全部楼层
donychen 发表于 2023-7-7 13:27
请教一下,域名那里该怎么填?第一个格子填*吗?还是把主域名拆开填

填*,修改后的插件会同时为主&泛域名申请证书

点评

谢谢! 但是这样提交后好像报错了 [Fri Jul 7 13:23:35 CST 2023] The txt record is added: Success. [Fri Jul 7 13:23:35 CST 2023] Let's check each dns records now. Sleep 20 seconds first. [Fri Jul 7 13  详情 回复 发表于 2023-7-7 13:47
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2023-7-7 13:47 | 显示全部楼层
本帖最后由 donychen 于 2023-7-7 13:51 编辑
cjchome 发表于 2023-7-7 13:42
填*,修改后的插件会同时为主&泛域名申请证书

谢谢!
但是这样提交后好像报错了

Fri Jul  7 13:36:22 CST 2023] Not valid yet, let's wait 10 seconds and check next one.
[Fri Jul  7 13:36:22 CST 2023] Please refer to https://www.gnu.org/software/wge ... de/Exit-Status.html for error code: 4
[Fri Jul  7 13:36:33 CST 2023] Checking xcde.xyz for _acme-challenge.xcde.xyz
[Fri Jul  7 13:48:59 CST 2023] Please refer to https://www.gnu.org/software/wge ... de/Exit-Status.html for error code: 4
[Fri Jul  7 13:48:59 CST 2023] Not valid yet, let's wait 10 seconds and check next one.
[Fri Jul  7 13:49:00 CST 2023] Please refer to https://www.gnu.org/software/wge ... de/Exit-Status.html for error code: 4
[Fri Jul  7 13:49:10 CST 2023] Let's wait 10 seconds and check again.
[Fri Jul  7 13:49:20 CST 2023] Timed out waiting for DNS.
[Fri Jul  7 13:49:20 CST 2023] check dns error.
[Fri Jul  7 13:49:20 CST 2023] Please add '--debug' or '--log' to check more details.
[Fri Jul  7 13:49:20 CST 2023] See: https://github.com/acmesh-offici ... ow-to-debug-acme.sh

点评

4 Network failure. 网络问题吧,毕竟是国外网站  详情 回复 发表于 2023-7-7 14:30
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-7-7 14:30 | 显示全部楼层
donychen 发表于 2023-7-7 13:47
谢谢!
但是这样提交后好像报错了

4
Network failure.
网络问题吧,毕竟是国外网站
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-11-2 07:55

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

快速回复 返回顶部 返回列表