sub vcl_recv {
if (req.url ~ "^/(?:settings|ttls|backends)/(?:reload|dump)/$") {
if (client.ip ~ internal) {
if (req.url == "/settings/reload/") {
...假设这是我的vcl_recv的样子。在遇到特定的正则表达式时,我想调用一个导入特定设置的go二进制文件。所有这些都只在缓存未命中期间发生。
据我所知,在VCL中调用外部函数接口需要一个VMOD。在互联网上,我没有找到这样的VMOD。
另一种方法是编写一个VMOD来帮助我们做到这一点。因为我无论如何都不是C工程师,所以我尝试用Golang来做这件事,但几乎碰壁了。
有什么建议吗?
发布于 2021-07-30 06:41:48
我不知道有任何开源的VMOD可以做到这一点。然而,Varnish Enterprise的vmod_file对此提供了支持。
请参阅https://docs.varnish-software.com/varnish-cache-plus/vmods/file/#return-the-uptime-of-the-server
清漆企业和云免责声明
虽然Varnish Enterprise是一个需要购买许可证的商业产品,但云中的官方镜像不需要任何预付款。
对于下面提到的平台,marketplace允许您按小时付费:
这允许您测试vmod_file (和其他功能),而不必为企业许可证留出预算。
https://stackoverflow.com/questions/68577411
复制相似问题