iTerm2配置记录
快捷键macOS 的快捷键图标表示 控制键 说明 ⌘ command ⌃ control ⌥ option ⇧ shift 其中 control 开头的快捷键不止在 iTerm2 中可用,在所有 shell 终端中都是可用的。 标签(tab) 功能 快捷键 备注 新建标签 command + t 关闭标签 command + w 切换标签 command + ← 或 → 可以用 command + 数字键,切换到指定的 tab 上 切换全屏 command + enter 等同于 fn + f, fn + f 在所有 macOS 软件中都可用 分屏 功能 快捷键 备注 垂直分屏 command + d 水平分屏 command + shift + d 切换到不同的分屏 command + option + 上下左右 同时操作所有窗口 command + shift + i 操作打开的所有 tab 和分屏, 功能生效时,右上角有个图标提示 其他 功能 快捷键 备注 快速定位光标 op...
Ingress Nginx 配置ssl双向认证
记录一下在 kuberentes 下使用 ingress-nginx 来配置 ssl 双向认证,可以参考其他几篇文章:使用certbot自动申请ssl证书 使用acme.sh来自动更新https证书 制作和使用自签名证书 Nginx配置SSL双向认证 创建 CA 证书执行以下命令,创建自签的 CA 证书。 生成 server 证书 这里可以使用公共的 CA 签发的证书, 比如各大云服务商购买的证书。下面是自签证书的步骤。 生成 Server 端证书的请求文件 使用根证书签发 Server 端请求文件,生成 Server 端证书 配置到 ingress 里 生成 client 证书生成 Client 端证书的请求文件 双向认证一般都是别人使用自己的 key 生成 csr 给到我们, 然后我们用 CA 签名证书,然后将签名后的证书给到别人,后续别人使用证书和自己的私钥就可以访问服务。 生成 client 端证书执行以下命令,使用根证书签发 Client 端请求文件,生成 Client 端证书。 配置双向认证创建 secret 测试访问
Kubernetes创建一个只读用户
其实用到的是 RBAC 授权,官方文档在:https://kubernetes.io/zh-cn/docs/reference/access-authn-authz/rbac/ 生成证书 通过证书生成 kubeconfig 配置文件 创建 clusterrole 和 clusterrolebinding 测试
使用image-syncer来实现容器镜像同步
image-syncer 是一个 docker 镜像同步工具,可用来进行多对多的镜像仓库同步,支持目前绝大多数主流的 docker 镜像仓库服务 支持多对多镜像仓库同步 支持基于 Docker Registry V2 搭建的 docker 镜像仓库服务 (如 Docker Hub、 Quay、 阿里云镜像服务 ACR、 Harbor 等) 同步只经过内存和网络,不依赖磁盘存储,同步速度快 增量同步, 通过对同步过的镜像 blob 信息落盘,不重复同步已同步的镜像 并发同步,可以通过配置文件调整并发数 自动重试失败的同步任务,可以解决大部分镜像同步中的网络抖动问题 不依赖 docker 以及其他程序 image-syncer 的官方地址是:https://github.com/AliyunContainerService/image-syncer, 是 golang 开发的, 官方没有给打包成 windows 版, 所以 windows 和 mac 用户需要自己编译一下。 编译安装 golang 环境略 开始构建 会在当前目录下生成 main.exe, 重命名为 image-...
shell脚本条件判断与比较运算
if 的基本语法: 文件/目录 判断常用的 运算符 作用 -d 测试文件是否为目录 -e 测试文件是否存在 -f 判断是否为一般文件 -r 测试当前用户是否有权限读取 -w 测试当前用户是否有权限写入 -x 测试当前用户是否有权限执行 -s 文件长度不为零 选项 作用 [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真。 [ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真。 [ -d DIR ] 如果 FILE 存在且是一个目录则为真。 [ -e FILE ] 如果 FILE 存在则为真。 [ -f FILE ] 如果 FILE 存在且是一个普通文件则为真。 [ -g FILE ] 如果 FILE 存在且已经设置了 SGID 则为真。 [ -k FILE ] 如果 FILE 存在且已经设置了粘制位则为真。 [ -p FILE ] 如果 FILE 存在且是一个名字管道 (F 如果 O) 则为真。 [ -r FILE ] 如果 FILE 存在且是可读的则...
利用Nginx的rewrite来实现自动跳转
任意链接都跳转到指定页面 需要部署一个服务在 Kubernetes 内, 需要实现通过 ingress 可以访问到, 本来是很简单的事情, 但是由于访问来源的 location 不确定,为了避免报错 404,所以用 Nginx 的 rewrite 来实现 Nginx 配置如下(所有 location 转发到 index.html): 自动跳转 https配置文件如下: 使用 return 使用 rewriterewrite 性能消耗更大,但是支持更复杂的规则,只是跳转到 https 建议使用 return 301 判断 Header 直接返回内容比如备案、或者各种认证, 证明网站属于自己,通常会给一个 txt 文件让放在网站根目录,其实可以使用这种方法来实现 返回请求者 IP实现一个获取公网 ip 的小工具,类似于 curl ip.sb 可以直接在终端获得公网 ip。
使用Obsidian配合Hexo写博客
obsidian 是一款好用的 markdown 编辑器, 用来记笔记还是不错的。 并且支持插件系统,可以通过模板来生成博客的 frontmatter, 省去了 hexo new 的操作 所以准备配置一下用 obsidian 来写博客。 相关文章:静态博客生成工具hexo使用typora更好更快地写hugo博客使用vscode来写hugo博客并处理图片插入问题 打开仓库首先使用 obsidian 打开 source/_posts 目录, 然后会生成一些配置文件。进入 _posts 目录 创建.gitignore 将一些临时文件排除掉。 配置模板自带的模板插件功能太单一了, 我们关闭安全模式, 安装第三方插件 Templater 创建 Templates 目录,修改配置指定 Template 的目录。修改配置项 Template folder location 为 Templates 然后再此目录下创建 Front-matter.md 文件,此文件用作 hexo 的 frontmatter 模板。 其中: 模板 作用 tp.file.title 获取到的就是文件...
ArchLinux安装记录
官方文档 ArchWiki 已经写的很好了,但是每次安装的时候都要踩坑,所以开个文章记录一下。 磁盘分区与格式化 配置中科大的源配置文档: https://mirrors.ustc.edu.cn/help/archlinux.html 挂载与 chroot 操作chroot 后相当于进入了安装后的系统内进行操作 常用配置配置时区 配置 locale 配置网络这里使用的是 systemd 全家桶 vim /etc/systemd/network/20-wired.network 修改 root 密码 创建普通用户 安装 grub 安装常用工具 完成安装 到此为止,不带图形界面的 ArchLinux 已经安装好了。 ArchInstall基本系统安装, 也可以使用 archinstall, 这个是在虚拟机环境下, 我的安装配置. 图形界面使用i3-wm使用KDE安装 设置 archlinux 为文本模式启动 在 ~/.xinitrc 中添加以下内容运行 i3 配置 ~/.ba...
Linux神奇的proc目录
让我们看看/proc 里面都有什么 查看进程打开的文件 查看进程的环境变量和 env 命令查看到的不同,env 查看的是系统的环境变量,可以理解为默认环境变量,但是进程的环境变量可能不一样,比如说: 这种情况下 vim 进程是有 A 这个环境变量的,可以使用以下命令查看。 内核启动参数 可执行文件 limits进程所受到的限制,比如最大文件打开数等。
Fail2ban配合Docker使用解决暴力破解
fail2ban 正常使用可以参考 使用Fail2ban抵御暴力破解和cc攻击,但是对于使用了 Docker host 网络的容器来说是不生效的。原因最后说, 我们先复原一下部署情况 环境现状服务器是我自己的服务器,使用 Nginx 做入口,反向代理到不同的后端,后端服务和 Nginx 都是运行在 Docker 里,使用 Docker 的自定义网络进行互联。其中 Nginx 容器使用的是 Host 网络 配置 fail2ban确定 Docker 版 Nginx 日志路径Linux 内一切皆文件,Docker 会将日志写入到主机的一个日志文件中。通过 可以查看到容器的日志位置 创建配置文件 /etc/fail2ban/jail.d/nginx-cc.conf 创建配置文件 /etc/fail2ban/filter.d/nginx-cc.conf 复现问题照此配置后,多次访问后,查看 fail2ban-client status nginx-cc,此时 fail2ban 已经显示 ip 被 ban 了: 查看 iptables 规则: 也已经 REJECT 了,但是并没有...




