Nginx:如何将Python脚本的结果发送给客户端?

我有一个简单的python脚本:会根据指定的十六进制颜色生成一个x-icon,然后返回有效的字节流(BytesIO)。

我想要得到这样的东西(请别笑,我使用Nginx大约两天了):

location ~^/icons/(?<colour>[a-fA-F0-9]{6})\.ico$ {
    send 200 (./favicon.py colour); # System call to `favicon.py` with `colour` argument.
}

有可能吗?

junjun8142 回答:Nginx:如何将Python脚本的结果发送给客户端?

以下配置可以完成工作:

location ~^/icons/(?<colour>[a-fA-F0-9]{6})\.ico$ {
    content_by_lua '
        local command = "./favicon.py colour"
        local handle = io.popen(command)
        local content = handle:read("*a")
        handle:close()
        ngx.print(content)
    ';
}

基本上,它使用Lua来执行和提供内容

注意:您的nginx应该使用lua模块进行编译,以便该解决方案起作用

本文链接:https://www.f2er.com/3168467.html

大家都在问