前言
最近在使用 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
关键字,就可以快速启动一个好看使用的文件服务器。
合理使用 Caddy 替代 Nginx 等服务,可以使运维效率翻倍,建议各位小伙伴主动尝试一下。