インストールlua_zlibはOpenResyにgzipリクエストを受信させる

1854 ワード

1、luaのダウンロードとインストールzlib
wget https://github.com/brimworks/lua-zlib/archive/master.zip
unzip master.zip
cd lua-zlib-master
cmake -DLUA_INCLUDE_DIR=/usr/local/openresty/luajit/include/luajit-2.1
make
cp zlib.so /usr/local/openresty/lualib/zlib.so

注意:lua_のインストールzlibはluaまたはluajitのサポートが必要なので、cmakeではluaのパスを指定する必要があります.
2、lua_を使うzlibはgzipリクエストを受信する
local zlib = require "zlib"
local encoding = ngx.req.get_headers()["Content-Encoding"]
ngx.req.read_body();
if encoding == "gzip" then
    local body = ngx.req.get_body_data()
    if body then
        local stream = zlib.inflate()
        ngx.req.set_body_data(stream(body))
    end
end