在 Varnish 中设置 BLOB 变量

问题描述

我正在使用 Varnish 对 JSON Web 令牌进行一些基本处理。我已经能够使用 blob 模块及其编码和解码功能开发出合理的工作流程。

当我试图捕捉错误时,我的问题就出现了。例如,我有一行进行一些转码:

        if (! jwt_hdr.parse(blob.encode(blob=blob.decode(
            BASE64URL,encoded=req.http.P-jwt-hdr-enc
        )))) {
            return (synth(401,"Invalid JWT header format"));
        }

如果无法对 JWT 标头进行编码,则 blob.encode() 会抛出导致通用 500错误。我想捕获它,但我发现无法将 blob.decode() 的中间值存储到局部变量中以进行验证和进一步处理。到目前为止,我只能在标题中存储字符串。

是否可以在 VCL 中存储临时 BLOB 变量?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)