本文介绍了作者如何利用WebRTC技术,结合本地迷你主机、NAS和WebSocket信令服务器,为个人项目实现免费SSL服务。此方案解决了公网IP缺失和云服务高昂成本的问题,特别适合有大量存储需求且希望将项目部署在本地的用户。作者详细阐述了技术选型原因,包括WebRTC的数据传输优势、TURN服务器的兜底作用以及HTTP代理的必要性,并分享了其低功耗服务器的配置和成本考量,旨在为相似需求的开发者提供参考。
🌐 **技术革新与成本优化**:作者放弃了传统的HTTP协议和Layui界面,转而采用Vue和WebRTC技术重构草啦网,旨在提升用户体验并降低运营成本。此举特别针对了云服务硬盘的高昂价格,通过本地NAS存储大量数据,显著节约了成本,为有存储需求的项目提供了经济高效的解决方案。
🚀 **WebRTC与本地化部署的结合**:由于缺乏固定的公网IP,作者选择WebRTC作为核心数据传输通道,并辅以WebSocket作为信令服务器、TURN服务器作为中转。这一技术组合使得在没有公网IP的环境下也能实现稳定可靠的服务连接,为将个人项目完全部署在本地服务器上提供了可行的技术路径。
💡 **低功耗服务器的配置与优势**:文章详细介绍了作者使用的N3450 CPU、4GB内存、128GB硬盘的低功耗迷你主机。该主机待机功耗极低,仅需12V供电即可长时间运行,甚至可通过充电宝提供动力,具备作为UPS的潜力。这种配置不仅成本低廉,且运行效率高,非常适合作为个人项目的长期稳定运行平台。
💾 **数据备份与未来规划**:作者利用本地NAS进行数据备份,确保数据安全。同时,他也提出了未来的升级计划,包括增加内存和硬盘,以及考虑在业务量增大时将NAS部署为服务器。这种循序渐进的规划方式,展现了作者对项目发展的长远考虑和对技术实现的务实态度。
之前是使用 layui 写的界面不是那么友好,现在直接使用 VUE 和 AI 来写,并由原来纯 http 协议改为 webrtc ,现在只完成了手动申请 SSL 的主要功能,后面再增加基于域名的 CNAME 解析接管实现自动化 API 接口,
目前主要是以下配置或技术:
websocket 作为信令服务器, webrtc 作为主要的数据传输通道, turn 服务器作为无法建立直连时的兜底中转, http 代理作为本地服务器连接 google 的通道, 本地迷你主机作为服务器(低功耗), 本地 NAS 作为数据备份。
为什么要搞这么麻烦?
因为要考虑到以后自己个人项目要全部放到本地服务器上,同时由于本地没有公网 IP ,更没有固定的公网 IP ,所以使用 webrtc 是一个折中的方案,这个网站是用来试点改造的小项目。 云服务商的硬盘价格很贵,想要存放大量的文件成本受不了。本地服务器增加硬盘就便宜多了,特别适合有存储需求量大的网站或应用。为什么不在 NAS 上部署,是因为 NAS 功耗有点高不想 24 小时开机,如果以后业务大再考虑了
服务器配置与谍照
CPU: N3450 、 内存: 4G DDR3L 、 硬盘: 128G
海鲜市场上花费 180 巨资淘来的,以后再考虑升级内存和硬盘了(预算超支),本想买个 ARM 的 OECT ,后来看到这个 X86 小主机就改变主意了,主要待机功耗和 OECT 一样都是 2-3 瓦 左右(比很多路由器功耗低),跑个网站基本不占什么资源,用两万毫安的充电宝 PD 诱骗 12V 都能供电一天,以后考虑弄成 UPS 。
