开源实例之解决域名被墙 前言 本篇介绍开源实例系列域名被墙的解决方案。 问题描述 移动网络屏蔽了 eu.org 域名。表现为使用电信网络的电脑端访问开源实例正常,而使用移动网络的手机端无法访问。 解决方案 启用 dujun.tk 域名替换 dujun.eu.org 域名。tk 域名不稳定,在字面上仍用 eu.org 作为入口跳转。 具体部署 申请 dujun.tk 域名 tk 域名可在https://www.freenom.com申请,为期一年,到期可续。 注意:tk 域名没有所有权,随时可能被收回,不建议在正式业务中使用。 生成通配符 SSL 证书 域名解析在 DNSPod,使用 acme.sh 生成通配符 SSL 证书: acme.sh --issue --dns dns_dp -d dujun.tk -d *.dujun.tk 详见《开源实例之免费通配符SSL证书》。 解析 dujun.tk 子域名 ser... 2023-03-02
接下来要做出的一个改变就是骑车上下班——距离公司单程 6.8 公里,骑行约 34 分钟——挽回一下身体素质。 十多年前就是骑车上下班的,完全感觉不到累。这些年都是四个轮子,脚不沾地,走路都费劲。平日也没有锻炼身体的机会和主观意愿。下决心改变一下吧。 2023-03-01
38 周岁了 我已经 38 周岁了——在这个锐气渐失,尚未豁达的尴尬阶段,实在是排斥搞清楚自己的确切年纪。但是到了生日这天,还是忍不住用年龄计算器查了一下周岁。 从家庭而言,父母妻女安康和睦,没经过大风浪,算是小小的富足。 但就我个人而言,实在没干成什么事,碌碌无为,非常焦虑。接下来期待有新的机遇,或者自己能调整到好的心态。其实上了年纪之后,就要学会接受自己的平庸,与自己和解,与世界和解。 2023-03-01
开源实例之localtunnel 前言 本篇介绍使用 localtunnel 实现内网穿透。了解什么是内网穿透可以参考《开源实例之frp》一文中的介绍。 localtunnel 介绍 localtunnel exposes your localhost to the world for easy testing and sharing! No need to mess with DNS or deploy just to have others test out your changes. Great for working with browser testing tools like browserling or external api callback services like twilio which require a public url for callbacks. localtunnel 是 Node... 2023-02-27
开源实例之bore 前言 本篇介绍使用 bore 实现内网穿透。了解什么是内网穿透可以参考《开源实例之frp》一文中的介绍。 bore 介绍 A modern, simple TCP tunnel in Rust that exposes local ports to a remote server, bypassing standard NAT connection firewalls. bore 是用 Rust 语言编写的极简的现代隧道应用,使用非常方便。 仓库地址:https://github.com/ekzhang/bore bore 部署 以下是部署示例,其中 192.168.56.10 扮演公网 ip,192.168.56.11 扮演内网 ip。 安装应用 本地安装: apt install cargo cargo install bore-cli 或者用官方 Docker 镜像部署: docke... 2023-02-26
开源实例之FastTunnel 前言 本篇介绍用 FastTunnel 搭建 ssh、web 内网穿透的方法。了解什么是内网穿透可以参考《开源实例之frp》一文中的介绍。 FastTunnel介绍 FastTunnel是一款高性能跨平台内网穿透工具,使用它可以实现将内网服务暴露到公网供自己或任何人访问。与其他穿透工具不同的是,FastTunnel项目致力于打造一个易于扩展、易于维护的内网穿透框架。可以通过引用FastTunnel.Core的nuget包构建出自己的穿透应用,并针自己所需的业务扩展功能。 GitHub:https://github.com/FastTunnel/FastTunnel Gitee:https://gitee.com/Hgui/FastTunnel 文档地址:https://docs.suidao.io 项目官网:https://suidao.io(提供测试体验) 值得一提的是,FastTunn... 2023-02-22
开源实例之免费通配符SSL证书 前言 本篇介绍部署免费通配符SSL证书,开启 HTTPS 的方法。 背景知识 HTTPS HTTPS(Hypertext Transfer Protocol Secure)协议是由 HTTP 加上 TLS/SSL 协议构建的可进行加密传输、身份认证的网络协议,主要通过数字证书、加密算法、非对称密钥等技术完成互联网数据传输加密,实现互联网传输安全保护。 通配符SSL证书 通配符SSL证书用于为一个域名及其所有一级子域名启用SSL加密。例如 example.com 的通配符SSL证书,可以用于自身和 *.example.com 形式的所有子域名。 创建和部署 安装软件 使用acme.sh免费创建、续订单域名SSL证书。以 Debian 系统为例,root 安装: sudo su curl https://get.acme.sh -s | sh -s 重新打开 ssh,执行acme.sh --v... 2023-02-22
开源实例之免费单域名SSL证书 前言 本篇介绍部署免费单域名SSL证书,开启 HTTPS 的方法。 背景知识 HTTPS HTTPS(Hypertext Transfer Protocol Secure)协议是由 HTTP 加上 TLS/SSL 协议构建的可进行加密传输、身份认证的网络协议,主要通过数字证书、加密算法、非对称密钥等技术完成互联网数据传输加密,实现互联网传输安全保护。 单域名SSL证书 单域名SSL证书用于为一个域名启用SSL加密,可以是顶级域名,也可以是二级域名。例如 example.com 和 a.example.com 需要两个独立的单域名证书。 特殊情况是 www 和不带 www(例如 example.com 和 www.example.com)可以共用一个单域名证书。 创建和部署 安装软件 使用Let's Encrypt软件免费创建、续订单域名SSL证书。以 Debian 系统为例,安装方法: s... 2023-02-22
开源实例之Docker健康检查 前言 本篇介绍通过 Docker 健康检查(HEALTHCHECK)来实现严格顺序启动,以及可用性判断。 应用场景 假设一个 web 应用需要运行多个容器,容器之间存在依赖关系。这就有两个问题,一是如何保证容器的启动顺序,二是如何监控 web 应用已经整体完成启动。 举例来说,MongoDB 管理工具mongo-express实例需要运行两个容器:MongoDB 容器和 Node.js 容器。需要先启动 MongoDB(含数据),再启动 Node.js(含项目程序),最终 web 暴露在 8081 端口。 一般解决方案 按照一般方案,用depends_on来控制容器启动顺序,根据 http 请求端口返回状态来判断是否启动完成。docker-compose.yml 如下: version: '2.4' services: mongodb: image: dujunio/mongo... 2023-02-21
开源实例之自建服务器上篇:云服务器 前言 本系列实例需要较高的服务器配置,否则同时运行多个实例很容易宕机。在研究了各种云服务器、物理服务器的部署方案之后,最终使用工控小主机自建服务器。因篇幅较长,分为上中下三篇: 上篇:云服务器 中篇:物理服务器 下篇:工控机部署 本篇介绍对云服务器的调研。 云服务器介绍 云服务器是一种简单高效、安全可靠、处理能力可弹性伸缩的计算服务。其管理方式比物理服务器更简单高效。用户无需提前购买硬件,即可迅速创建或释放任意多台云服务器。 简单来说,云服务器是在物理服务器上通过虚拟化技术构建的虚拟服务器,一台物理机可以被分割成多台云服务器。各大厂商对云服务器的名称各不相同,比如腾讯云叫 CVM(Cloud Virtual Machine),阿里云叫 ECS(Elastic Compute Service),亚马逊云叫 EC2(Elastic Compute Cloud)。 云服务器的优势当然是安全稳定... 2023-02-16