Nginx搭建WebDAV服务
迫于无法忍受现成的 NAS 系统的限制,Alliot 正在着手将最常用的一些服务剥离出来,方便迁移与定制, WebDAV 首当其冲, Alliot 在许多场景下的同步与备份都依赖它。
WebDAV 作为一种基于HTTP/HTTPS协议的网络通信协议,预想是非常简单的,然而在具体动手的过程中还是遇到了挺多坑,Obsidian 的 Remotely-save 便是其中一个。
本文将基于 Nginx/Tengine 手把手构建一个 WebDAV 服务。
迫于无法忍受现成的 NAS 系统的限制,Alliot 正在着手将最常用的一些服务剥离出来,方便迁移与定制, WebDAV 首当其冲, Alliot 在许多场景下的同步与备份都依赖它。
WebDAV 作为一种基于HTTP/HTTPS协议的网络通信协议,预想是非常简单的,然而在具体动手的过程中还是遇到了挺多坑,Obsidian 的 Remotely-save 便是其中一个。
本文将基于 Nginx/Tengine 手把手构建一个 WebDAV 服务。
自从 2017 年使用 Hexo+NexT 作为博客框架以来,已经过去好几个年头。就如前面那篇hexo使用Artalk评论系统 博客所言,由于 Alliot 之前对 NexT 主题与部分插件做了许多侵入式的魔改,基本没有对其做过日常的版本升级维护,因此,已经没有平滑升级的可能性。在一次插件失效的契机下,终于下定决心推倒重建。 本文记录了这一次重建的过程以及在维护模式上相比旧版本的改进。
在工作中,常常会容易遇到一台电脑用多个 Git 账号的场景,比如账号 company 账号是工作用的,而账号 personal 是自己个人用的。 由于 Git 本身并没有多账号的机制,导致我们在默认设置下无法很好的区分哪个仓库使用哪个账号。 同时,在某些众所周知的场景下,我们无法直接访问到 Github 仓库,需要走一层 proxy 来加速我们的代码拉取与推送速度, 本文将使用 SSH config 相对优雅的解决这些问题。
眼镜是心灵的窗户,不巧,我的窗户不是很标准,从小到大,戴过很多副眼镜,从三甲到爱某眼科、宝某、博某,呱呱呱一顿操作下来自己啥也不懂是什么意思,最近由于眼镜被我一屁股坐坏了,就在附近的眼镜城配了眼镜,之后就有了此文。
Prometheus 的 relabel 功能可以在目标的 label 被抓取之前重写它,每个采集配置可以配置多个 relabel,并按照配置的顺序来应用于每个 target 的 label。利用这个特性,我们可以实现动态的 metrics-path。
之前我们旧的 Jenkins 集群跑在 AWS EC2 上,近期由于大量新增 Job 以及大量构建任务的并行,导致集群资源吃紧,不得不新增更多的 Slave 来应对。为了降低成本,同时获得更好的资源弹性,Alliot 打算基于 Terraform 在 AWS ECS 中构建新的 Jenkins 持续集成体系。容器提供了更细的资源粒度,拥有更好的资源弹性和资源利用率。
我们在开始一个 Terraform 工程项目的时候,首先要做的就是 terraform init
, 这个动作会在当前工作目录下创建 .terraform
目录,并联网下载项目所需要的 provider
到该目录下。 即便是多个项目使用的是同样的 provider
,但每个工程项目仍然都有自己单独的 .terraform
, 这不仅仅会浪费磁盘空间,还会花费很多不必要的时间去等待联网下载 provider
,好在 Terraform 官方为我们提供了缓存目录。
有一个比较奇怪的需求,需要给 FileZilla-server 新建大量的 ftp 用户,为其配置随机密码,指定单独家目录与用户组等。
一直有对看的书、看的剧做记录的习惯,翻看自己的豆瓣,在工作后浮躁、忙碌的状态下,已经很长一段时间没有更新了。这几年经历了很多,一直没能停下来好好的总结与反思,恰好再一次遇到了《非暴力沟通》
堡垒机强制启用了 MFA 双因子认证,每次都需要打开 APP 输入验证码,对于登录频繁的人来说非常不方便,于是利用 expect
与 oath-toolkit
完成了自动登录。(友情提示:本处堡垒机为仅内网可访问,且为边缘测试系统环境,出于安全考虑请不要在重要环境下使用)。