未雨绸缪

未雨绸缪

💡 原文中文,约3200字,阅读约需8分钟。
📝

内容提要

作者迁移闺蜜圈服务回国内的准备工作,包括服务器迁移和华为应用商店上架。遇到域名备案和文件存储问题,通过重新定义django的404错误解决文件访问。使用HttpDns解决域名劫持问题,但在uniapp集成时遇到困难。作者感到困惑。

🔎

延伸解读

备案与服务器选择的现实考量

作者为备案购买阿里云虚拟机,但性能不足,转而将海外服务迁移至此,并另购腾讯清凉云服务器部署主服务。这反映了备案过程中服务器选择的常见权衡:低成本虚拟机可能无法满足性能需求,而备案域名与服务器地域的匹配又增加了架构复杂度。

文件回源的自定义404方案

由于轻量云存储不支持自动回源,作者通过重写Django的404处理,在文件不存在时向原服务器请求并保存到本地,再重定向。这种方案在用户量小、文件少时可行,但未考虑并发安全和锁机制,随着访问量增长可能引发问题。

HttpDns在uniapp中的集成困境

作者使用HttpDns解决域名劫持,但uniapp相关文档匮乏,找到的腾讯插件已三年未更新,文档链接失效。示例代码仅展示了解析请求,未说明如何将解析结果应用于uni.request,导致集成困难。这提示开发者选择技术方案时需评估社区支持和文档完整性。

❓

Q&A

作者为什么要把闺蜜圈服务迁移回国内?

作者决定将闺蜜圈服务迁移回国内,并开始进行服务器迁移和华为应用商店上架等准备工作。

域名备案实际用了多长时间?

域名备案预计11天完成,但实际审核已超过半个月,作者仍在耐心等待。

作者如何处理文件存储问题?

作者重新定义Django的404错误,针对文件请求进行独立处理:如果本地不存在,则向原始服务器请求资源,若状态为200则保存文件并重定向到远程地址,否则返回404错误。

作者使用什么方法解决域名劫持问题?

作者使用HttpDns解决域名劫持问题,阿里和腾讯都提供了该服务,并有免费额度。

在uniapp中集成HttpDns遇到了什么困难?

uniapp集成HttpDns时文档异常匮乏,基于uni.request的实现基本找不到,唯一能找到的腾讯插件代码功能让人摸不着头脑,且文档挂掉,作者对如何在uni.request中使用解析结果感到困惑。

作者在服务器迁移中遇到了哪些问题?

作者在服务器迁移中遇到域名备案延迟、原有域名通过CDN或Nginx反代可用性不高、文件存储无法自动回源等问题。

🏷️

标签

➡️

继续阅读