终于把 Dors 搬到国内了
vercelaivendocker阿里云

终于把 Dors 搬到国内了

关于近期 dors 部署现状

更新于 2025-06-17
1013

最开始使用国外的免费方案:vercel 托管应用 + aiven 数据库。但 vercel 最近的亚洲服务器节点只有印度和新加坡。物理距离还可以接受,但访问速度却不稳定,有时候会比较慢,甚至但许多时候国内部分网络环境下无法访问。而且备份数据的时候发现 aiven 的访问也是不稳定的。

今年 5 月,我之前买的轻量应用服务器到期,无法续费,看到阿里云 2Core 2G 的 ECS 价格只要 99 元,性能看起来比起我之前买过的轻量应用服务器要好些,于是入手。但服务器开通后,发现如果是通过在服务器上拉取源代码,安装依赖,然后编译打包的方式部署,项目会因内存不足而无法编译成功。

于是学习了如何构建 docker 镜像并配置 github action 工作流,提交代码触发自动编译,并编写 shell 脚本定时检测 docker 镜像更新,创建容器,持续部署。

服务绑定 80 端口后,用 ip 地址可以访问,但用域名访问因为未备案而被拦截。考虑到备案流程比较繁琐,一直以来没有备案。以为只有备案后才能用域名,所以长久以来也没有申请 SSL 证书。但 用 http 访问显然效果不佳,抛开一些 pwa 的能力不谈,未使用 https 甚至导致复制到剪贴板等功能都不能用。体验实在太差,只有考虑乖乖备案。

备案流程较长,同步开始申请了 ssl 证书。证书申请了两次都签发没有成功,提示校验不通过,咨询阿里云人工客服后回应说是域名下有一条 CAA 记录导致签发失败,想到可能是域名托管在 vercel ,而 vercel 采用的证书签发机构不是阿里云免费证书所用的 digicert 导致的,于是在子域名下添加 digicert 的 DNS CAA 记录,成功解决。

申请完试着部署之后,却意外第发现网站虽然还没备案成功,但上了 https 协议之后,用域名访问是没有被拦截的。

dors.huayemao.fun 这个域名解析到了国内阿里云主机,vercel 的服务则使用 huayemao.run 这个域名。因为在应用层使用了缓存,两个域名站点的内容存在差异, 因为国内访问 dors.huayemao.fun 更快,所以最新的内容都在这里更新,后者则需要手动触发来同步,所以内容很多时候不是最新的。

不管怎样,折腾了这么久之后,dors 终于能够稳定快速访问了。而且也算是实现了持续部署了,相比起部署在 vercel ,主要差距是失去了自动签发和更新证书的能力,每 3 个月要重新申请和部署个人测试证书,而这一定程度上已经是可以接受的了。但愿能维持现状,别出什么岔子就行。