开源实例之ngrok 前言 在内网穿透的专题里,必须有 ngrok 的名字,它有广泛的知名度和众多的衍生品。了解什么是内网穿透可以参考《开源实例之frp》一文中的介绍。 ngrok 介绍 ngrok is a reverse proxy that creates a secure tunnel from a public endpoint to a locally running web service. ngrok captures and analyzes all traffic over the tunnel for later inspection and replay. ngrok 是一个使用go语言编写的反向代理软件,可以在公共端和本地 web 服务之间建立安全通道,捕获和分析所有通道上的流量。 ngrok 1.x 开源,但存在严重问题,已不再维护;ngrok 2.x 是商业软件,未开源,但提供一定... 2023-02-25
开源实例之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
开源实例之NPS 前言 本篇介绍用 NPS 搭建 ssh、web 内网穿透的方法。了解什么是内网穿透可以参考《开源实例之frp》一文中的介绍。 NPS介绍 NPS is a lightweight, high-performance, powerful intranet penetration proxy server, with a powerful web management terminal. NPS是一款轻量级、高性能、功能强大的内网穿透代理服务器。支持tcp、udp、socks5、http等几乎所有流量转发,可用来访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析、内网socks5代理等等,并带有功能强大的web管理端。 NPS 比 frp 多了 web 管理后台,配置更加方便,不必每次修改都重启服务。 仓库地址:https://github.com/ehang-io/nps... 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
开源实例之frp 前言 frp(fast reverse proxy)是一款知名的开源内网穿透软件。本篇介绍用 frp 搭建 ssh、web 内网穿透的方法。 内网穿透介绍 内网穿透,也即 NAT(Network Address Translation,网络地址转换)穿透(NAT traversal),进行 NAT 穿透是为了使具有某一个特定源 IP 地址和源端口号的数据包不被 NAT 设备屏蔽而正确路由到内网主机。 简单来说,内网穿透就是内网主机通过NAT与公网建立TCP/UDP连接,实现接收/发送公网数据包。 《开源实例之自建服务器下篇:工控机部署》一文中提到了内网穿透的应用,这就是内网穿透的典型使用场景,通过内网穿透将配置较高的内网服务器“映射”到公网提供服务,而配置较低的公网服务器只需消耗流量。 frp介绍 frp is a fast reverse proxy to help you expose... 2023-02-21
开源实例之自建服务器下篇:工控机部署 前言 本系列实例需要较高的服务器配置,否则同时运行多个实例很容易宕机。在研究了各种云服务器、物理服务器的部署方案之后,最终使用工控小主机自建服务器。因篇幅较长,分为上中下三篇: 上篇:云服务器 中篇:物理服务器 下篇:工控机部署 本篇介绍用工控小主机自建服务器的实践过程。 购入主机 主机介绍 工控机 IPC(Industrial Personal Computer)即工业控制计算机,是一种采用总线结构,对生产过程及机电设备、工艺装备进行检测与控制的工具总称。工控机具有重要的计算机属性和特征,如具有计算机主板、CPU、硬盘、内存、外设及接口,并有操作系统、控制网络和协议、计算能力、友好的人机界面。工控行业的产品和技术非常特殊,属于中间产品,是为其他各行业提供稳定、可靠、嵌入式、智能化的工业计算机。 早在80年代初期,美国AD公司就推出了类似 IPC的MAC-150工控机,随后美国IBM公司正... 2023-02-19
开源实例之自建服务器中篇:物理服务器 前言 本系列实例需要较高的服务器配置,否则同时运行多个实例很容易宕机。在研究了各种云服务器、物理服务器的部署方案之后,最终使用工控小主机自建服务器。因篇幅较长,分为上中下三篇: 上篇:云服务器 中篇:物理服务器 下篇:工控机部署 本篇介绍对物理服务器的调研。 物理服务器介绍 物理服务器需要保持长期开机运行,供多人访问,因此在 CPU、内存、硬盘等硬件配置上相比普通个人电脑要高,稳定性、安全性都需要得到保障。在各种云诞生之前,企业需要自建服务器,甚至自建机房、IDC,运维门槛很高。 年轻的同学或许很难相信以前的趣事。比如我第一家公司,运维理念很先进,要求异地、多地容灾。但当时的数据传输成本非常高,所以公司安排一个专员负责每周从一地机房拷贝数据到磁盘,然后开车送到另一地机房。 现在一般个人和组织都会购买云服务器,降低运维难度,不过成规模的企业也会自建服务器,因为同等配置下,云服务器价格要高出很... 2023-02-18
开源实例之自建服务器上篇:云服务器 前言 本系列实例需要较高的服务器配置,否则同时运行多个实例很容易宕机。在研究了各种云服务器、物理服务器的部署方案之后,最终使用工控小主机自建服务器。因篇幅较长,分为上中下三篇: 上篇:云服务器 中篇:物理服务器 下篇:工控机部署 本篇介绍对云服务器的调研。 云服务器介绍 云服务器是一种简单高效、安全可靠、处理能力可弹性伸缩的计算服务。其管理方式比物理服务器更简单高效。用户无需提前购买硬件,即可迅速创建或释放任意多台云服务器。 简单来说,云服务器是在物理服务器上通过虚拟化技术构建的虚拟服务器,一台物理机可以被分割成多台云服务器。各大厂商对云服务器的名称各不相同,比如腾讯云叫 CVM(Cloud Virtual Machine),阿里云叫 ECS(Elastic Compute Service),亚马逊云叫 EC2(Elastic Compute Cloud)。 云服务器的优势当然是安全稳定... 2023-02-16