abser

如何为 caddy 添写自定义插件

项目地址:https://github.com/yhyddr/quicksilver/tree/master/gosample/caddy-plugin


前言

Caddy附带一个HTTP服务器,但是你可以实现其他服务器类型并将它们插入Caddy中。其他类型的服务器可以是SSH、SFTP、TCP、内部使用的其他东西等等。


对于Caddy来说,服务器的概念是任何可以Listen()Serve()的东西。这意味着什么、如何运作都取决于你。你可以自由地发挥你的创造力去使用它。


那么怎样去扩展 Caddy 呢?
不同的服务器类型,可以根据自己的需要定制不同的插件。我们在这里,通过添加最简单的不做任何事的插件,来熟悉如何扩展 Caddy 服务器。

Plugin for HTTP

我们会一步一步构建出一个 HTTP Plugin 的框架,到时候你只需要填充自己处理逻辑即可!那还等什么,让我们开始吧。


构建一个 HTTP Plugin ,代码部分仅需要两步,注意事项也有两个。

创建一个 Go Package

首先为 caddy 创建一个 插件的 Go Package ,你可以新建一个文件夹达到这个效果。比如

├── caddy-plugin
│   ├── gizmo.go
│   └── setup.go

这里分为了两个 Go 文件,接下来详细讲每一个 Go 文件的作用。

代码

分类:

技术点:

相关文章:

  • 2021-09-01
  • 2018-09-30
  • 2021-08-02
  • 2021-12-28
  • 2021-10-19
  • 2019-05-22
  • 2021-09-27
猜你喜欢
  • 2019-08-10
  • 2021-06-04
  • 2019-10-18
  • 2019-05-20
  • 2018-06-09
  • 2020-05-23
  • 2021-09-19
相关资源
相似解决方案