All Posts

Systemd 集成 Go 应用程序

在日常开发和玩耍中,我们总会运行很多后台程序,而运行的方式有很多种,我以前最喜欢的是 Supervisor,当然现在也很喜欢;但是在这篇文章中,我要尝试的确实 Linux 系统的 Systemd,我将尝试和 Go 语言结合,配置代码,让一个 Go 开发的二进制程序能够比较稳健的运行在 Systemd 中。

Firewalld 小窥

防火墙可能是让很多玩 Linux 的同学非常不爽的一个东西了,但是这个东西又是非常重要的,重要到当你想使用 systemctl stop firewalld 的时候心中又在迟疑怕主机会不会被人入侵。当然,有这些困惑都是因为不了解导致的,那么既然不了解为何不尝试去了解一下呢,这就是我尝试去了解它的心态。

SELinux 了解与使用

上个周末我的博客因为要设置一个网络,所以重启了一下实例,解决发现重启之后无法 SSH 连接,甚至于 VNC 都不能登录了,这很崩溃,后面通过特殊手段修改了 SELinux 默认为不启动之后再重启终于解决了问题,因为我周末刚好要出去,所以导致博客停机了大概 10 个小时,这比我前两年的总时还长。为此,我决定稍微深入一点点了解一下 SELinux 是什么东西,然后要怎么合理得使用它,这篇文章作为我的一篇小结,希望对你有帮助。

CentOS 配置 Yum 源

在国内做技术有个不得不头疼的问题就是我们的墙了,但是,因为这个墙,让我们对系统和网络的知识也有了不一样的熟悉,例如在 CentOS 中安装包的时候,有时我们需要选择墙内的源;当然,墙并不是唯一考虑,有时也会处于安全和速度考虑,我们也会设置本地的源,所以,这里我就记录了一些我设置 CentOS Yum 源的情况。

Go 中 Hijacker 的介绍和使用

最近看到了一段代码和 hijack 有关,因为以前从没遇到过 hijack,所以不太了解是啥东西,就顺带快速看了一下,发现挺有意思的,以后可能写一些基础库的时候会用到,所以就顺带稍微看了看,也顺便记录一下,看看以后会不会用到。

Nginx SSL 双向认证,key 生成和配置

正如你所访问的这个网站,你会发现 Chrome(或者你用的其他浏览器),一般情况下(只要不是版本太老)都会在网站的 URL 前面加上绿色标志,表示你访问的网站是真的我部署的,而不是受到恶意拦截或者 DNS 污染等而伪造的假网站。一般来说,普通的网友想要拥有一个被信任的 HTTPS 网站,一般都是需要向 SSL 证书提供商处认证然后获得被信任的证书,这里之所以能被信任,是因为你电脑中的浏览器内置了很多根证书,通过这个根证书首先能证明这些提供商是正版的,当你的浏览器确认这些提供商是正版的了之后,再帮我的网站证明我的网站是正版的,从而告诉你这个正在使用浏览器的人,你看的网站是真的。

【负载均衡】均衡算法

在日常的软件系统中,不管是 CS 架构还是 BS 架构,也无论是传统架构还是所谓的微服务架构,一般来说,正式的系统都不会是单台机器来承载业务。除去承压能力的问题,处于可用性的考虑也很可能会至少有两台机器负载,所以如何使用和分配这两台或者更多机器是一个很有挑战的话题。我对这些话题有一些兴趣,但是,必须说的是这是个无底洞,你总是不能找到一个吻合你所有需求的方案,同时还要满足架构的清晰性,所以,这里我就列举一些我知道或者用过的一个策略,希望能对有兴趣的同学做选择提供一些参考。

【frp 源码拆解】负载均衡的实现

最近在看 frp 的源代码,这不是一篇详细解析和介绍的文章,是作为一个记录和留存,同时也算是分享一下吧,可能造成的影响就是没头没尾,有兴趣的同学可以看看,这一篇我 review 的是 负载均衡的实现,其实这里的实现我觉得不是太合适,可以考虑改进。

【frp 源码拆解】服务端 Proxy 的生命周期

最近在看 frp 的源代码,这不是一篇详细解析和介绍的文章,是作为一个记录和留存,同时也算是分享一下吧,可能造成的影响就是没头没尾,有兴趣的同学可以看看,这一篇我 review 的是 proxy 的连接的生命周期管理,从创建到分发以及关闭等流程。

【frp 源码拆解】Client 主线 Review

最近在看 frp 的源代码,这不是一篇详细解析和介绍的文章,是作为一个记录和留存,同时也算是分享一下吧,可能造成的影响就是没头没尾,有兴趣的同学可以看看