写在前面
你需要
- 一个正常的大脑
- 遇到不会的问题会上网搜索
- 懂得询问AI
- 一个域名
- 一个cloudflare账号
- 一张支持外币的信用卡(可以用假卡)
- 一点web相关知识
请拥有以上东西再开始下面的内容
开始
准备工作
下载lucky
下载Lucky,进去之后稍微配置一下lucky相关的安全设置(修改密码啊,外网访问啊之类的)
ipv6测试
在你的服务器和工作机搜索ipv6-test进行测试是否有ipv6,如果是10/10那么下一步,如果有个别一两项没得分那么自行搜索解决方案如果是0/0请搜索如何打开ipv6
然后获取你服务器的ipv6地址(ipconfig ifconfig等指令,看你服务器系统),记下IPv6地址以作备用(注意是IPv6地址而不是临时IPv6地址,如果是fe开头说明没公网ipv6,自行搜索相关教程,这里不作阐述)
然后去itdog-ipv6-ping(或者其他你喜欢的ping工具都行)测试你刚才得到的ipv6,如果不通请打开路由器的ipv6防火墙和服务器的防火墙
个别地区ping不通属于正常现象,如果大面积ping不通可能是ipv6地址是临时地址,或者你可以和运营商对线
cfdns端口测试
接着去ipv6-tcpping输入[ipv6地址]:端口(方括号也要输入),端口从以下列表挨个试,指导能ping通为止
- 80
- 8080
- 8880
- 2052
- 2082
- 2086
- 2095
- 443
- 2053
- 2083
- 2087
- 2096
- 8443
如果你的80/443端口其中有一个能ping通,那么恭喜你你可以直接拿来建站不需要端口回流。如果你一个能ping通的都没有,那么很遗憾的通知你你建站只能通过域名:端口的形式访问,这边建议你用frp或者cf tunnel建站。记住你能ping通的端口,我这里使用8080为例
lucky配置
动态域名(ddns)
进入lucky,左侧动态域名→添加任务
托管商选择cloudflare,在cf-apitoken中选择创建令牌→编辑区域DNS
只需要把区域资源的第三个框选择为你的域名,其他不要动(token名字可以改),然后划到下面点继续以显示摘要→创建令牌,然后把令牌保留好备用(此处的令牌下文简称cfkey,如果遗忘可以选择再创建一个)
回到lucky,Token中填写cfkey,{ipv6Addr}选择启用,获取ip方式3个其实都可以,我推荐网卡获取(如果你没有对服务器/路由器中的获取临时ipv6地址相关内容,那么我更建议你用通过脚本获取,因为服务器长期开机会得到一堆临时ipv6地址,而网卡/接口获取会优先获取临时地址,但是临时地址是无法访问内网服务的。ip指令win使用ipconfig,其它系统使用相关效果的指令就好。或者你也可以先把获取临时ipv6地址相关内容关了,然后在用网卡/接口获取)
下拉点击添加同步记录,记录名就是域名(不需要http前缀),你可以专门用一个域名(eg: ddns.domain.com)来当ddns域名,然后把你的服务域名在cf通过cname解析到ddns域名(cf-dns-eg: 类型:cname 名称:blog 目标:ddns.domain.com)。也可以直接把你的所有服务域名都添加进来,其他地方不需要改,然后添加任务,等他同步即可
web服务
添加web服务规则,监听类型选IPv6,监听端口选择上面列表你ping成功的端口,TLS选择启用,默认规则中服务类型改为关闭连接
然后添加子规则,服务类型选择反向代理,前端地址输入服务网址(eg:blog.domain.com),后端地址输入本地ip(eg:http://127.0.0.1:8081)
万事大吉启用,其他默认即可
ssl证书
在左侧选择SSL/TLS证书,添加证书。添加方式选择ACME,机构选择Let's Encrypt,验证方式选择Cloudflare,Token填写cfkey,域名列表建议直接填写泛域名(eg:*.domain.com),电子邮箱可留空(写上也无所谓不影响)。更多设置中cname支持 启用,其他默认即可
想保存自定义文件夹就打开证书映射,证书路径填绝对路径(eg:D:\Program\ssl)
然后保存,等待2-10分钟一般就成功了,如果不成功可以考虑打开/关闭使用IPv4网络申请证书
如果多次报错可以查看Lucky官方提供的FreeSSL/ZeroSSL申请教程
后面写着手动续签不用管,他是自动的到期自动续
cf配置
先在上文“动态域名(ddns)”中把所有的域名解析好,打开cf小黄云
在cf的规则→概述→Origin Rules中添加规则(免费用户只能添加10个)
选择
自定义筛选表达式
– 字段=URl完整
– 运算符=包含
– 值=你的域名(eg:https://blog.domain.com)
– 目标端口=重写到 你ping通的端口
然后保存
打开域名的cf小黄云
把SSL/TLS 加密改成完全(严格)
等待cf服务器解析完全(10分钟左右),你就可以访问了
至此,教程结束
后记
可能的Q&A
- 网上有很多类似的教程为什么还要再写一篇?
网上教程大多都年代久远(我看到的基本上都半年起步),这半年里cf和lucky都更新了很多东西,而且网上的教程不详细+雷同度极高,所以在今天亲身实践之后打算把踩得坑都填上,啊当然主要是太久没水文了水一篇(不是) - 为什么不用frp/cftunnel?
免费的frp很容易炸,你也不想你的服务三天两头被反馈无法访问吧,cf慢归慢,好歹稳定。cf tunnel也可以用,只是反正ipv6都要ddns,lucky可以一步到位达到cf tunnel的功能,不需要再额外下载配置一个东西 - 访问不了?
把域名的cname解析换成ddns的aaaa解析,记得打开cf小黄云,重走一遍教程,如果还不行那我也没办法了( - 速度太慢
毕竟是免费的,凑合凑合(
我的博客现在就是这样运行的 Lucky+Cloudflare达到家宽ipv6建站ipv4+ipv6双栈访问-YouYiの小破站
还有什么问题评论区说






