创建自签名的 SSL 证书

2024-09-20#SSL证书#Nginx

SSL 证书是一种数字证书,用于在客户端和服务器之间建立安全的加密连接,确保数据在传输过程中不被窃取或篡改。在互联网上,通常由权威的证书颁发机构(CA)给用户颁发证书。通常可以利用云服务厂商提供的证书管理服务获取证书(可能是付费的),也可以向 Let's Encrypt 这个免费、自动化且开放的证书颁发机构申请证书。除此之外,对于内部应用,还可以自行创建证书。本文介绍创建自签名的SSL证书的方式。

从 DockerHub 上的 Docker 镜像中提取文件

2024-09-20#Docker

docker-image-extract 是一个 Shell 脚本,可用于从位于 DockerHub 上的 Docker 镜像中提取文件。比如在本机没有安装 Docker,但期望提取 Docker 镜像中的某个文件时,就可以使用这个小工具。对于有多平台的镜像,还可以指定镜像的平台。

在使用最小镜像的 Armbian 系统中配置无线网络

2024-09-19#Armbian#网络工具

Armbian 是一个基于 Debian 或 Ubuntu 的开源操作系统,专门针对嵌入式 ARM 平台进行优化和定制。对于自带 Wifi 模块的主机,在第一次登录系统时,会在命令行中引导配置无线网络。如果此时没有配置,那么以后就没有提示了。那此时该如何配置呢?尽管Armbian 提供给了 armbian-config 命令和图形化界面程序来配置系统;但是如果使用了“最小镜像” 安装的系统,很可能就没有这个工具。查看 Armbian 的网络配置文档,可知使用最小镜像的系统,使用网络后端是 systemd-networkd,可使用 netplan 配置网络。

在网页中根据 iframe 的内容自动调节其高度

2024-09-13#Javascript#iframe

<iframe>(Inline Frame 的缩写)是 HTML 中的内联框架元素。它可以在一个 HTML 文档中嵌入另一个独立的 HTML 文档。因此常常用于在网页中嵌入外部内容。但是,由于在渲染父网页时,浏览器并不知道嵌入其中的iframe的高度,因此默认情况下,无法根据 iframe 的内容自动调节其高度。实际中,可以通过多种方法,利用 Javascript实现。本文介绍使用 postMessage 来实现。

在 Android 手机上调试 Google Chrome 浏览器里的网页

2024-09-12#Android#Chrome

当开发好的 Web 页面在手机浏览器里出现异常时怎么办?对于 Android 手机上的 Google Chrome 浏览器而言,可以通过 Android 手机的调试能力,通过电脑端的 Chrome 进行调试。本文介绍调试的方式。

通过网络唤醒远程 Linux 主机

2024-09-06#Linux

当想要从外边连接家里的电脑主机时,可以通过搭建虚拟私有网络进行访问(比如可以参考旧文《使用 Nebula 搭建点对点的虚拟私有网络》)。但是家里的电脑主机并不总是开机,因此还需要先开机才行。幸运的是,可以利用 Wake-on-LAN(网络唤醒)技术,动动小手,即可远程开机。

使用 Ansible 部署 Dokku

2024-08-30#Linux#Ansible#Dokku#PaaS

Dokku 是一个面向开发者的单节点平台即服务(PaaS),用于托管小型站点,它由 Bash 构建,并使用 Docker 作为容器。如果有过使用 Heroku 的经验,那么就会发现 Dokku 与 Heroku 的使用体验是如此相似。

本文以在互联网的服务器上安装 Dokku 为例,介绍 Ansible 的使用。

在命令行中跳过 macOS 对可执行文件的安全检查

2024-08-30#macOS

当首次运行从网络下载的可执行文件(比如从 Github Releases 页面下载的众多可执行文件)时,即使这些文件已经有执行权限,macOS 也常常会阻止其运行。通常的做法是打开系统设置,允许其运行。其实,也可以在命令中完成操作。

在不稳定的网络中使用 Mosh 连接远程服务器

2024-08-20#网络工具#Linux#SSH

在连接远程的 Linux 服务器时,通常使用 SSH 连接。但是,当网络不够稳定的时(比如连接国外的服务器),在连接到 SSH 服务器之后,可能出现掉线、无响应、输入响应很慢等情况。这时候的体验很差,非常影响使用效率。在这种情况下,可使用 Mosh 优化 SSH 连接,改善使用体验。

手搓 Git 服务器(一):搭建一个简单的基于 SSH 的 Git 服务器

2024-08-13#Git#Go#SSH

Git 是目前最流行的源代码控制系统,它是由 Linus Torvalds 以及其他开发内核的人员为了在 Linux 内核开发中使用而创建的。如果深入了解 Git 的传输协议,那么就会感受到 Unix 哲学中的简单性。Git 的中文文档介绍了 《服务器上的 Git - 协议》英文文档),参考该文档,可以快速构建一个简单的 Git 服务器,并加入自定义的能力。

Git 支持基于 SSH 和 HTTP/HTTPS 的协议。本文介绍一种使用 Go 语言实现基于 SSH 的 Git 服务器的 智能协议 的方法。