前言

最近在使用 subconverter 进行订阅地址的转换,却发现其没有提供安全有效的保护措施。于是我们使用了 Caddy 来保护我们的私有服务不被随意访问。

开整!

Caddy 提供了许多高效的请求匹配方式,比如我们在这里用到的 query 匹配器

example.com {
        #
        @denied not query token=f8718097-ca6d-439b-ac27-8e2eede69ac9
        error @denied 401
        #
        reverse_proxy subconverter:25500
}

这里的意思就是,构建一个叫 denied 的 matcher,其匹配方案是,如果查询参数符合 token !== f8718097-ca6d-439b-ac27-8e2eede69ac9 则该匹配器生效。

然后我们使用了 error 关键字,并将 denied 匹配器传递给他,如果匹配器生效,其将返回 401 错误并阻断请求。

由此,成功实现了对我们私有服务的保护。

后记

Caddy 还提供了许多易用的功能,如使用 file_server browse 关键字,就可以快速启动一个好看使用的文件服务器。

image.png

合理使用 Caddy 替代 Nginx 等服务,可以使运维效率翻倍,建议各位小伙伴主动尝试一下。

最后修改:2023 年 10 月 25 日
如果觉得我的文章对你有用,请随意赞赏