diff --git a/2024/10/12/blog-from-scratch/blog_topology.png b/2024/10/12/blog-from-scratch/blog_topology.png index af4f6b7..b0e4e78 100644 Binary files a/2024/10/12/blog-from-scratch/blog_topology.png and b/2024/10/12/blog-from-scratch/blog_topology.png differ diff --git a/2024/10/12/blog-from-scratch/index.html b/2024/10/12/blog-from-scratch/index.html index 70e11a0..b27bfd3 100644 --- a/2024/10/12/blog-from-scratch/index.html +++ b/2024/10/12/blog-from-scratch/index.html @@ -1,13 +1,13 @@ -基于 IPv6 公网地址、NAS 和 MacMini 的私有部署博客方案 | 時痕 +基于 IPv6 公网地址、NAS 和 MacMini 的私有部署博客方案 | 時痕 - + - + @@ -165,7 +165,7 @@ isHome: false, isHighlightShrink: false, isToc: true, - postUpdate: '2024-10-12 23:48:58' + postUpdate: '2024-10-13 00:05:02' }

基于 IPv6 公网地址、NAS 和 MacMini 的私有部署博客方案

方案速览

简单来说,方案分为了几个主要的部分:

+

基于 IPv6 公网地址、NAS 和 MacMini 的私有部署博客方案

方案速览

简单来说,方案分为了几个主要的部分:

  1. 公网访问使用了可行性较高的 光猫桥接路由器拨号同时获取 IPv4 大内网和 IPv6 公网 /64 地址 方案
  2. -
  3. v6 / v4 双栈访问采用了 Cloudflare DNS Proxy 通过 Cloudflare 的代理回源的方式实现
  4. +
  5. DNS 解析采用了 MacMini 上部署的 ddns-go 实现
  6. +
  7. v6 / v4 双栈访问采用了 Cloudflare DNS Proxy 通过 Cloudflare 的代理回源的方式实现
  8. 80 / 443 端口封禁规避同样使用的是 Cloudflare 回源指定端口 的能力
  9. 博客源代码使用 Gitea 仓库存储 + Actions 编译自动化部署 实现
  10. Gitea 仓库 直接在 Nas 上通过 Docker Compose 部署
  11. -
  12. 博客公网访问采取 Caddy 反向代理 方案,通过 caddy-git 插件实现 webhook 更新本地 git 仓库并用 fileserver 代理仓库目录 实现网站内容更新,由于 Nas 性能羸弱,Caddy 服务部署在 MacMini 上
  13. -
  14. TLS 采用 caddy-dns 插件实现,用 Cloudflare token 实现 dns 验证,Caddy 自动部署证书
  15. +
  16. 博客公网访问采取 Caddy 反向代理 方案,通过 caddy-git 插件实现 webhook 更新本地 git 仓库并用 fileserver 代理仓库目录 实现网站内容更新,由于 Nas 性能羸弱,Caddy 服务部署在 MacMini 上
  17. +
  18. TLS 采用 caddy-dns 插件实现,用 Cloudflare token 实现 dns 验证,Caddy 自动部署证书
  19. Gitea Actions 容器化部署在 MacMini 端,用本地链接访问 Nas 上的 Gitea 服务,减少 Cloudflare 代理流量和延迟
  20. 博客自动化部署 Actions 采用 Main 分支 Checkout - 环境配置 - 文件编译、拷贝、暂存 - Publish 分支 Checkout - 文件覆盖 - Commit 提交 - 触发 Caddy-git 更新 Webhook 链路

全方案的拓扑图如下

+

其中红色线条为 HTTP 流量,蓝色线条为 DDNS-GO 流量,紫色线条为本地或 v6 直连的 ssh TCP 流量

blog_topology

后面有空再慢慢翔实

-
文章作者: Linloir
文章链接: https://blog.linloir.cn/2024/10/12/blog-from-scratch/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 時痕
avatar
Linloir
我、技术、生活与值得分享的一切
Follow Me
avatar
Linloir
我、技术、生活与值得分享的一切
Follow Me
最新文章

重生

时隔两年,终于借着重新配置家里网络环境的契机,重新搭建了这个博客。

+

重生

时隔两年,终于借着重新配置家里网络环境的契机,重新搭建了这个博客。

原先关于操作系统的文章正在慢慢搬迁,应该很快就能恢复了~

再一次启用关于自己的博客,感觉心里良多感慨。还记得上一次搭博客时的自己,刚来到计算机学院,对着网上的保姆教程在腾讯云的小机器上搭了 git 仓库、配置了宝塔面板、DNS 解析。

那时的自己对 TLS、证书、Git、反代、CDN、Docker 这些东西都还是那么陌生,以至于教程之外的东西完全不敢去碰,哪怕是在宝塔面板上配一个 Let’s Encrypt 的证书都要折腾好久,也没有去研究 hexo deploy 到底 deploy 了什么到服务端,只觉得能跑便是好事,这也就导致了后来的删库跑路事件——本地的博客仓库被主动删除,等到发现服务器上是没有 Markdown 源文件的时候已经太迟,由于没有了源文件,写新的博客势必会导致旧的 html 被覆盖,又因为文章实在太长迟迟没有动手迁移,原先的数万字长文就这样被冻在了旧的博客里长达两年。

@@ -182,7 +182,7 @@ btf.addGlobalFn('pjaxSend', () => {

不夸张地说,看到熟悉的页面再一次出现在浏览器中的时候,内心有许多感慨,大概就像离家的游子多年后重新推开家门时那样吧。拂去把手上的灰尘,推开门回到曾经熟悉的地方,所有的东西都还在原本的地方等着自己,仿佛从来没有离开过那样。博客大概就是我内心无处安放的杂思的归宿吧,我想,如今它们终于又能安家了。

这一次回来,不知道能够持续多久,但我希望,能够长一些、再长一些。至于内容,我也不打算维持早年纯技术的导向了,我更多地想让这个博客成为我存在的痕迹,让多年后的自己看到曾今的文章能够会想起当年的纠结、焦虑、喜悦或是激动,能够从这里,看到我。

总之,欢迎回家。

-
文章作者: Linloir
文章链接: https://blog.linloir.cn/2024/10/12/reborn/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 時痕
avatar
Linloir
我、技术、生活与值得分享的一切
Follow Me
avatar
Linloir
我、技术、生活与值得分享的一切
Follow Me
avatar
Linloir
我、技术、生活与值得分享的一切
Follow Me
最新文章
+
avatar
Linloir
我、技术、生活与值得分享的一切
Follow Me
最新文章
分类 @@ -193,7 +193,7 @@ btf.addGlobalFn('pjaxSend', () => { 2 -
网站信息
文章数目 :
2
本站总字数 :
1k
本站访客数 :
本站总浏览量 :
最后更新时间 :
avatar
Linloir
我、技术、生活与值得分享的一切
Follow Me
最新文章
+
avatar
Linloir
我、技术、生活与值得分享的一切
Follow Me
最新文章
分类 @@ -193,7 +193,7 @@ btf.addGlobalFn('pjaxSend', () => { 2 -
网站信息
文章数目 :
2
本站总字数 :
1k
本站访客数 :
本站总浏览量 :
最后更新时间 :
avatar
Linloir
我、技术、生活与值得分享的一切
Follow Me
最新文章
+
avatar
Linloir
我、技术、生活与值得分享的一切
Follow Me
最新文章
分类 @@ -193,7 +193,7 @@ btf.addGlobalFn('pjaxSend', () => { 2 -
网站信息
文章数目 :
2
本站总字数 :
1k
本站访客数 :
本站总浏览量 :
最后更新时间 :
avatar
Linloir
我、技术、生活与值得分享的一切
Follow Me
最新文章
+
avatar
Linloir
我、技术、生活与值得分享的一切
Follow Me
最新文章
分类 @@ -195,7 +195,7 @@ btf.addGlobalFn('pjaxSend', () => { 2 -
网站信息
文章数目 :
2
本站总字数 :
1k
本站访客数 :
本站总浏览量 :
最后更新时间 :
avatar
Linloir
我、技术、生活与值得分享的一切
Follow Me
最新文章
+
avatar
Linloir
我、技术、生活与值得分享的一切
Follow Me
最新文章
分类 @@ -193,7 +193,7 @@ btf.addGlobalFn('pjaxSend', () => { 2 -
网站信息
文章数目 :
2
本站总字数 :
1k
本站访客数 :
本站总浏览量 :
最后更新时间 :
分类 - 杂思
2024
重生
avatar
Linloir
我、技术、生活与值得分享的一切
Follow Me
最新文章
+
分类 - 杂思
2024
重生
avatar
Linloir
我、技术、生活与值得分享的一切
Follow Me
最新文章
分类 @@ -193,7 +193,7 @@ btf.addGlobalFn('pjaxSend', () => { 2 -
网站信息
文章数目 :
2
本站总字数 :
1k
本站访客数 :
本站总浏览量 :
最后更新时间 :
avatar
Linloir
我、技术、生活与值得分享的一切
Follow Me
最新文章
+
avatar
Linloir
我、技术、生活与值得分享的一切
Follow Me
最新文章
分类 @@ -193,7 +193,7 @@ btf.addGlobalFn('pjaxSend', () => { 2 -
网站信息
文章数目 :
2
本站总字数 :
1k
本站访客数 :
本站总浏览量 :
最后更新时间 :
avatar
Linloir
我、技术、生活与值得分享的一切
Follow Me
最新文章
+
avatar
Linloir
我、技术、生活与值得分享的一切
Follow Me
最新文章
分类 @@ -195,7 +195,7 @@ btf.addGlobalFn('pjaxSend', () => { 2 -
网站信息
文章数目 :
2
本站总字数 :
1k
本站访客数 :
本站总浏览量 :
最后更新时间 :
标签 - 生活
2024
重生
avatar
Linloir
我、技术、生活与值得分享的一切
Follow Me
最新文章
+
标签 - 生活
2024
重生
avatar
Linloir
我、技术、生活与值得分享的一切
Follow Me
最新文章
分类 @@ -193,7 +193,7 @@ btf.addGlobalFn('pjaxSend', () => { 2 -
网站信息
文章数目 :
2
本站总字数 :
1k
本站访客数 :
本站总浏览量 :
最后更新时间 :
avatar
Linloir
我、技术、生活与值得分享的一切
Follow Me
最新文章
+
avatar
Linloir
我、技术、生活与值得分享的一切
Follow Me
最新文章
分类 @@ -193,7 +193,7 @@ btf.addGlobalFn('pjaxSend', () => { 2 -
网站信息
文章数目 :
2
本站总字数 :
1k
本站访客数 :
本站总浏览量 :
最后更新时间 :