找回密码
 加入我们
搜索
      
楼主: tedaz

[NAS] 学习大佬帖子,小白简配版自建ownCloud家庭服务器,启用Let's Encrypted证书流程分享

[复制链接]
发表于 2024-12-27 11:27 | 显示全部楼层
tedaz 发表于 2024-12-27 11:19
能简单说下从哪个菜单进入证书申请吗?
官方教程没有文字版证书申请,视频也没有有包含“证书”关键字的 ...

左上角菜单直接能看到SSL/TLS证书

评分

参与人数 1邪恶指数 +10 收起 理由
tedaz + 10

查看全部评分

发表于 2024-12-27 13:53 | 显示全部楼层
tedaz 发表于 2024-12-27 10:21
试了一下,NPM支持的ddns太少了,没有我在用dyn、dynv6,这个有什么办法吗,比如装个NPM的插件?

看gith ...

去买那种便宜的域名,比如几十块钱就 10 年的数字 xyz 域名,我就是买的这个,之后你想怎么解析就怎么解析,多方便,这样就不会受制于免费的域名服务商了。

如果你只是为了能访问内网的服务,那我最推荐用 tailscale,安装到想要互相访问的设备即可,什么都不用配置,机器名加端口访问就完事。
 楼主| 发表于 2024-12-27 13:55 | 显示全部楼层
本帖最后由 tedaz 于 2024-12-30 22:21 编辑
mhggpo 发表于 2024-12-27 10:54
用go写的反代
docker镜像:gdy666/lucky:latest




 楼主| 发表于 2024-12-27 14:01 | 显示全部楼层
elvba 发表于 2024-12-27 13:53
去买那种便宜的域名,比如几十块钱就 10 年的数字 xyz 域名,我就是买的这个,之后你想怎么解析就怎么解 ...

不是的。

首先,真正固定的域名限制更多,我之前买过,后来没法被国内dns解析了。并不是我是域名有什么问题,而是某些域名被正则表达式模糊匹配后国内就不给解析了。这是选择ddns主要原因。

其次,访问内网访问也早就解决了。

目前只是希望在原来的基础上更进一步,让https能有一个有效的证书,特别是为了Moon Reader的webdav同步。

到目前为止,似乎就lego+nginx支持的ddns最多,而且迭代非常快,新的、支持TXT的ddns都会被快速添加,从这个角度说,lego比NPM好些。
lego已经实现了我的需求。

在测试lucky,这玩意儿是大全型的,而且不透明。又卡在URL带端口号这个问题上了,无论怎么设置都不行。
发表于 2024-12-27 14:17 | 显示全部楼层
tedaz 发表于 2024-12-27 13:55
试了下,搞不定公网URL带端口号的映射。

我的公网访问为https://ted.ddns.net:8888

我的lucky用的很好啊,根据官网教程一步步就行了。 1.png
发表于 2024-12-27 14:18 | 显示全部楼层
tedaz 发表于 2024-12-27 13:55
试了下,搞不定公网URL带端口号的映射。

我的公网访问为https://ted.ddns.net:8888

你的图片和文字内容描述的不一样,建议再检查一下
 楼主| 发表于 2024-12-27 14:52 | 显示全部楼层
英雄哥 发表于 2024-12-27 14:17
我的lucky用的很好啊,根据官网教程一步步就行了。

你的公网访问链接是带端口号的吗?
再就是你的lucky是在主路上直接监听16666,还是lucky在单独的内网机器上?
 楼主| 发表于 2024-12-27 14:54 | 显示全部楼层
mhggpo 发表于 2024-12-27 14:18
你的图片和文字内容描述的不一样,建议再检查一下

已经更正,但还是不行。

URL带端口号的话,lucky应该怎么设置?
发表于 2024-12-27 15:08 | 显示全部楼层
tedaz 发表于 2024-12-27 14:54
已经更正,但还是不行。

URL带端口号的话,lucky应该怎么设置?

确认申请证书的域名和你访问的域名是否匹配
发表于 2024-12-27 15:34 | 显示全部楼层
tedaz 发表于 2024-12-27 14:52
你的公网访问链接是带端口号的吗?
再就是你的lucky是在主路上直接监听16666,还是lucky在单独的内网机器 ...

公网链接带端口号;lucky放在旁路由上的;旁路由是在群晖的docker上;所以我的16666端口,要先在主路由上映射到旁路由上,再在旁路由的防火墙映射到群晖的ip地址。
发表于 2024-12-27 15:36 | 显示全部楼层
本帖最后由 elvba 于 2024-12-27 15:37 编辑
tedaz 发表于 2024-12-27 14:01
不是的。

首先,真正固定的域名限制更多,我之前买过,后来没法被国内dns解析了。并不是我是域名有什么 ...


没太明白“某些域名被正则表达式模糊匹配后国内就不给解析了”,你是说泛解析?

我觉得你对 ddns 的理解有问题,ddns 本质就是通过调用接口的方式让 dns 解析服务商把域名的解析到你的 ip 上,和你直接用 curl 调用一次接口没任何区别,并不是说你买了域名就不能用 ddns,能不能用 ddns 核心在 dns 服务商有没有开放这个接口。

举例你现在用的 dyn。
那就是 dyn 给你一个免费的二级域名,然后你可以用 ddns 的方式,去设置 dyn 给你的二级域名解析的 ip。

国外买域名,然后用 dnspod 做解析,也不用备案,dnspod 只要是个 ddns 工具都支持的。

另外使用 ddns 最好地方是在你拨号的路由器,用路由器自带的 ddns 工具:
1. 只有这样才能获取到最准确的 ip,别的工具都是去调用查询本机 ip 的网站或者接口来查询你的 ip,这个时候获取到的 ip 地址不一定就是你的公网 ip,换句话说,这类工具可以做到随意把你的域名解析到一个骗人用的 ip 地址去。
2. 能实现公网 ip 变了之后马上就配置域名解析,你用别的方式就只有去定时比如每隔一个小时去执行一次,实时性差了很多的。
 楼主| 发表于 2024-12-27 15:48 | 显示全部楼层
本帖最后由 tedaz 于 2024-12-27 15:53 编辑
mhggpo 发表于 2024-12-27 15:08
确认申请证书的域名和你访问的域名是否匹配


是匹配的,现在是访问不通,不是证书错误之类的,应该是lucky的映射写的不对,但是不知道应该怎么写
 楼主| 发表于 2024-12-27 15:52 | 显示全部楼层
elvba 发表于 2024-12-27 15:36
没太明白“某些域名被正则表达式模糊匹配后国内就不给解析了”,你是说泛解析?

我觉得你对 ddns 的理解 ...

简单来说,就是被qiang了。买的域名被qiang就需要重新购买新域名,ddns服务商的免费域名被qiang了,随便再注册个新的就行了。

我的思路是,解决方案必须有灵活性、机动性,不能只有唯一路径。

我现在的构架就是在openwrt主路由上使用openwrt的ddns工具更新域名ip。

但是这几天在尝试https ssl证书。因为公网ipv4 80、443被封锁,只能使用dns验证的方式申请证书。

dns验证申请证书需要ddns支持TXT记录,同时需要证书工具(比如lego、NPM等)支持对应的支持TXT记录的ddns,这样的话就导致NPM无法使用了。
发表于 2024-12-27 15:52 | 显示全部楼层
tedaz 发表于 2024-12-27 15:48
是匹配的,现在是访问不同,不是证书错误之类的,应该是lucky的映射写的不对,但是不知道应该怎么写 ...

建议加官网QQ群反馈
 楼主| 发表于 2024-12-27 15:54 | 显示全部楼层
mhggpo 发表于 2024-12-27 15:52
建议加官网QQ群反馈

这玩意儿不好用,本b站很多东西类似,没有资料,黑箱一个,然后什么都是扫码加群……

话说,windows版docker desktop怎么修改已经生成的container的json文件呢,只能在UI上看到RAW json,但是不允许修改。
发表于 2024-12-27 16:09 | 显示全部楼层
tedaz 发表于 2024-12-27 15:52
简单来说,就是被qiang了。买的域名被qiang就需要重新购买新域名,ddns服务商的免费域名被qiang了,随便 ...

你做了啥把域名给 qiang 了 我买过的域名都没被墙过。

那你可以用 lego 专门做证书验证,然后把 lego 获取的证书拿去给 nginx 用,然后再用别的 ddns 工具去配置 dns 解析,我看 dyn 官方有提供 ddns 工具:https://help.dyn.com/update-clients/
 楼主| 发表于 2024-12-27 16:14 | 显示全部楼层
elvba 发表于 2024-12-27 16:09
你做了啥把域名给 qiang 了 我买过的域名都没被墙过。

那你可以用 lego 专门做证书验证,然后把 lego 获 ...

我啥都没干,被正则表达式qiang的。

现在就是用lego+nginx,可以申请、自动更新证书,没啥问题,但这东西是一个命令搞定的,没用docker不够高级、不够时尚。

很多人推荐各种新式武器,于是就想试试NPM、Lucky等高级东西,但现在这两个都没搞定。NPM因为不支持dynv6卡壳了;Lucky因为不会设置卡壳了。
发表于 2024-12-27 16:25 | 显示全部楼层
测了一下你tedaz.dynv6.net的8888端口没有开放。你先检查一下端口开放的问题。
 楼主| 发表于 2024-12-27 16:30 | 显示全部楼层
highchh 发表于 2024-12-27 16:25
测了一下你tedaz.dynv6.net的8888端口没有开放。你先检查一下端口开放的问题。

是的,tcping不通。
主路由端口转发,如果转发到其他主机,测试就是通的。
转发到lucky就不通了,应该是lucky没能正常的监听。
windows防火墙已经关闭,在lucky的电脑上用其他程序监听tcp,测试是可以通过的。

所以现在问题就出在docker 和/或 lucky上。

想修改container的配置文件,我用的windows版docker desktop,不知道如何修改container的配置文件。
 楼主| 发表于 2024-12-27 17:08 | 显示全部楼层
本帖最后由 tedaz 于 2024-12-30 22:22 编辑
highchh 发表于 2024-12-27 16:25
测了一下你tedaz.dynv6.net的8888端口没有开放。你先检查一下端口开放的问题。


我现在直接用纯内网测试lucky
发表于 2024-12-27 17:33 | 显示全部楼层
syno-acme脚本更新证书更便捷
发表于 2024-12-27 17:51 | 显示全部楼层
tedaz 发表于 2024-12-27 16:14
我啥都没干,被正则表达式qiang的。

现在就是用lego+nginx,可以申请、自动更新证书,没啥问题,但这东 ...

我还是不能理解正则表达式和域名被qiang怎么关系上的,有种在看意大利面拌42号混凝土的感觉。
 楼主| 发表于 2024-12-27 17:58 来自手机 | 显示全部楼层
elvba 发表于 2024-12-27 17:51
我还是不能理解正则表达式和域名被qiang怎么关系上的,有种在看意大利面拌42号混凝土的感觉。 ...

这就不能细说了
 楼主| 发表于 2024-12-27 17:59 来自手机 | 显示全部楼层
Charles-Lee 发表于 2024-12-27 17:33
syno-acme脚本更新证书更便捷

这个仅限于群晖集成吧,没法跟普通的ububtu nginx自动集成证书。
发表于 2024-12-27 18:03 | 显示全部楼层
tedaz 发表于 2024-12-27 16:14
我啥都没干,被正则表达式qiang的。

现在就是用lego+nginx,可以申请、自动更新证书,没啥问题,但这东 ...

NPM 相当于 lego + nginx,解决的是自动更新证书,证书验证,nginx 配置的问题,和 ddns 没关系。

dyn 有提供官方的 ddns 工具:https://help.dyn.com/update-clients/

任何 docker 可以跑的东西,你都可以不用 docker 跑,不存在 docker 高级时尚一说,包括 NPM、Lucky ,他们的文档里都有手动安装和运行的方式。
 楼主| 发表于 2024-12-27 18:09 来自手机 | 显示全部楼层
本帖最后由 tedaz 于 2024-12-27 18:12 编辑
elvba 发表于 2024-12-27 18:03
NPM 相当于 lego + nginx,解决的是自动更新证书,证书验证,nginx 配置的问题,和 ddns 没关系。

dyn  ...


NPM不支持dynv6的域名,而免费ddns服务商支持TXT记录的本就不多,而且NPM也没有打算添加dynv6支持。我只是说了这个事实,看看有没插件之类能解决这个问题。

所有这些都没有直接联系,但将各种限制条件综合起来,就有间接联系了。

dyn和dynv6是两个不同的ddns服务商。

另外说的是NPM不支持用dynv6的ddns域名申请证书,而不是ddns客户端功能。

现在要寻找很多很好解决方案的是,用ddns域名申请和自动更新证书给nginx或者其他反向代理工具。
发表于 2024-12-27 18:16 | 显示全部楼层
tedaz 发表于 2024-12-27 18:09
NPM不支持dynv6的域名,而免费ddns服务商支持TXT记录的本就不多,而且NPM也没有打算添加dynv6支持。我只 ...

那个 lucky 我觉得没必要继续折腾了,看了下作者的最新版本也不开源。

就下载 dyn 的客户端呗,你用的是 window 虚拟机,就下载他的 windoes 客户端,安装完应该就行了。
发表于 2024-12-27 18:28 | 显示全部楼层
tedaz 发表于 2024-12-27 18:09
NPM不支持dynv6的域名,而免费ddns服务商支持TXT记录的本就不多,而且NPM也没有打算添加dynv6支持。我只 ...

dyn 和 dynv6 还是两家呀,我还以为是同一家。

我也并不是一定要你用 NPM 哈,你用  lego + nginx 已经能解决证书的问题了,那剩下的就是 dns 解析问题。

我找了一个支持 dynv6 更新 dns 解析的工具,还可以自定义,以后你用新的 ddns 服务商也可以自己配置即可:

https://github.com/timothyye/godns

dynv6 的参考配置: https://github.com/timothyye/godns?tab=readme-ov-file#dynv6


那 dyn 就用他们官方的工具,安装运行就行,dynv6 就用我上面发的 godns。
godns 可以自定义,也可以看 dyn 的 api 文档自己配置 dyn 的解析。

评分

参与人数 1邪恶指数 +10 收起 理由
tedaz + 10

查看全部评分

 楼主| 发表于 2024-12-27 19:13 | 显示全部楼层
elvba 发表于 2024-12-27 18:28
dyn 和 dynv6 还是两家呀,我还以为是同一家。

我也并不是一定要你用 NPM 哈,你用  lego + nginx 已经 ...

谢谢回复。
其实我已经用openwrt的ddns客户端,lego+nginx完美解决了证书申请、自动更新证书。

只是在继续探索更多、更好的解决方案。

过程中发现NPM确实不错,但是竟然不支持dynv6这个非常普及、功能非常全的ddns,就描述试试,并看看有没有插件之类的。

这里是lego的支持列表,https://go-acme.github.io/lego/dns/
dynv6是标准的RFC2136,lego将其归为RFC2136,命令类似于这样
  1. RFC2136_NAMESERVER=127.0.0.1 \
  2. RFC2136_TSIG_KEY=example.com \
  3. RFC2136_TSIG_ALGORITHM=hmac-sha256. \
  4. RFC2136_TSIG_SECRET=YWJjZGVmZGdoaWprbG1ub3BxcnN0dXZ3eHl6MTIzNDU= \
  5. lego --email you@example.com --dns rfc2136 -d '*.example.com' -d example.com run
复制代码


NPM看起来很美,可惜不支持dynv6,也不支持RFC2136。

实测Lucky可以申请dynv6的证书,但是Lucky不好用。

就看还有没有其他的方案了,或者现有方案有插件之类的办法也行。

发表于 2024-12-27 21:52 | 显示全部楼层
本帖最后由 elvba 于 2024-12-27 21:56 编辑
tedaz 发表于 2024-12-27 19:13
谢谢回复。
其实我已经用openwrt的ddns客户端,lego+nginx完美解决了证书申请、自动更新证书。


NPM 也支持 RFC2136

捕获.PNG

dynv6 的参考配置:

  1. # Target DNS server
  2. dns_rfc2136_server = ns1.dynv6.com
  3. # TSIG key name
  4. dns_rfc2136_name = tsig-299015.dynv6.com
  5. # TSIG key secret
  6. dns_rfc2136_secret = TtW8XESzg5bhirg4/RHRUSORrACQz+BBX2qe5LkrX7yW94s9KB5dW0EIXh0eGGQNNYgoBzg8A7QF3+6y7/cezw==
  7. # TSIG key algorithm
  8. dns_rfc2136_algorithm = HMAC-SHA512
复制代码




NPM
- dyn: 不支持
- dynv6:支持,使用 RFC2136

lego
- dyn:支持
- dynv6: 支持,通过 RFC2136

评分

参与人数 1邪恶指数 +10 收起 理由
tedaz + 10

查看全部评分

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

Archiver|手机版|小黑屋|Chiphell ( 沪ICP备12027953号-5 )沪公网备310112100042806 上海市互联网违法与不良信息举报中心

GMT+8, 2025-1-18 14:35 , Processed in 0.014270 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2007-2024 Chiphell.com All rights reserved.

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