首页 > 其他分享 >caddyserver 架构简单说明

caddyserver 架构简单说明

时间:2023-01-30 12:40:04浏览次数:54  
标签:架构 https 配置 caddy caddyserver 模块 简单 com


概述

caddy 包含了command,core library,以及modules,command 主要是关于cli 命令的
core library 主要进行配置管理,可以Run() 以及Stop() 相关配置,同时也提供了一些工具,类型,以及一些值,方便模块使用
modules 这个是caddy 比较核心的,包含了内置的以及一些社区开发的

caddy core

包含了加载以及初始化配置,如果没有提供了会包含一个admin api,方便通过api 模式加载,核心是配置,官方提供了json 以及Caddyfile 模式的,我们也可以配置其他的
(比如nginx,yaml,hcl),app 部分包含了Start() 以及Stop() 方法

模块生命周期

caddy 包含了host 模块以及guest 模块两大类,模块的生命周期
加载、提供&校验、使用、清理

  • load 阶段 
    主要是反序列化json 字节为类型,主要是json 类型的处理
  • 提供阶段 
    比如配置guest 模块,配置内部值,进行配置校验
  • 使用阶段 
    当guest 模块准备好了之后,就可以被host 模块使用了,每个模块都包含了一个模块id(包含namespace)
  • 清理阶段 
    比如配置被停用了,所有模块被卸载了,就会须在此处处理

插件

主要是caddy 的扩展,通过提供的模块注册入口进行加载

配置管理

提供acid 的配置处理,同时进行热更新,同时caddy 也提供了amdin api 灵活的进行配置管理

说明

在大概了解caddy 之后在学习源码就比较方便了

参考资料

​https://caddyserver.com/docs/architecture​​​​https://caddyserver.com/docs/command-line​​​​https://caddyserver.com/docs/json/​​​​https://caddyserver.com/docs/extending-caddy​​​​https://pkg.go.dev/github.com/caddyserver/caddy/v2#RegisterModule​

标签:架构,https,配置,caddy,caddyserver,模块,简单,com
From: https://blog.51cto.com/rongfengliang/6026186

相关文章

  • caddyserver step-ca 集成
    最近在学习caddy2的一些新特性,以前大致看过step-ca这个强大的证书管理工具,所以集成caddy+step-ca的acme进行测试下因为acme需要对于dns进行校验,但是因为自己是本地......
  • dremio api 简单说明
    以前在简单介绍dremiowebserver的时候提过dremio的api,实际上包含了两大部分,一个是为了bff的(方便前端使用的),一个是独立的restapi方便业务调用的(实际上就是官方文档中看......
  • 论架构在嵌软设计中的重要性
    要做到嵌入式应用的代码逻辑清晰,且避免重复的造轮子,没有好的应用架构行吗?如果没有好的架构,移植将会是一件很痛苦的事情。如果没有好的架构,复用是最大的难题,没法更大......
  • Selenium简单介绍
    Selenium简单介绍​ Selenium是一个用于Web应用程序测试的工具;Selenium测试直接运行在浏览器中,就像真正的用户在操作一样;支持通过各种driver(FirfoxDriver,IternetExpl......
  • MGR复制架构+自动化运维平台,汽车之家MySQL高可用建设实践
    前言 MySQL具有开源免费,运维简单,性能好等优点,是在汽车之家使用最多的一种数据库。数据库作为应用的后端存储,承担着数据持久化存储的功能,是应用可以正常对外提......
  • leetcode简单(矩阵):[566, 766, 832, 867, 999, 1030, 1261, 1275, 1337, 1351]
    目录566.重塑矩阵766.托普利茨矩阵832.翻转图像867.转置矩阵999.可以被一步捕获的棋子数1030.距离顺序排列矩阵单元格1260.二维网格迁移1275.找出井字棋的获胜者13......
  • Redis的设计与实现(1)-SDS简单动态字符串
    现在在高铁上,赶着春节回家过年,无座站票,电脑只能放行李架上,面对着行李架撸键盘--看过<Redis的设计与实现>这本书,突然想起,便整理下SDS的内容,相对后面的章节,......
  • cookie的简单介绍
    什么是CookieCookie是存储在用户浏览器中的一段不超过4KB的字符串。它由一个名称(Name)、一个值(Vaue)和其它几个用于控制Cookie有效期、安全性、使用范围的可选......
  • dremio ioc 机制简单说明
    dremio不对服务的依赖管理以及处理没有直接使用googleguice,而是dremio自己包装了一个类似guice的ioc能力提供的能力说明因为对于ioc来说需要包含不同的几种服务注入......
  • 黑苹果简单的手动开启显示器HiDPI教程
    原文链接:​​www.imacosx.cn/111522.html​​,查看最新版。转载请保留出处。先说个大概逻辑,就是让系统识别显示器,不管是one-key-hidpi还是hacintools,目的都一样,跟vendorID和p......