Openresty nginx выкидывает ошибку zlib not found - PullRequest
0 голосов
/ 06 июня 2018

Я установил сервер openginy nginx.Вот мой файл конфигурации:

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    include /etc/nginx/conf.d/*.conf;

    # set search paths for pure Lua external libraries (';;' is the default path):
    lua_package_path '/usr/local/openresty/?.lua;/usr/local/openresty/lualib/?.lua;/usr/local/openresty/lualib/resty/?.lua;/usr/local/openresty/lualib/ngx/?.lua;/usr/local/openresty/site/lualib/?.lua;;';

    # set search paths for Lua external libraries written in C (can also use ';;'):
    lua_package_cpath '/usr/local/openresty/?.so;/usr/local/openresty/lualib/?.so;/usr/local/openresty/lualib/resty/?.so;/usr/local/openresty/lualib/ngx/?.so;/usr/local/openresty/site/lualib/?.so;;';

    server {
        listen 81;
        location / {
            proxy_pass http://localhost:4040;
            proxy_http_version 1.1;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $http_host;
            proxy_set_header X-Cluster-Client-Ip $remote_addr;
            proxy_pass_request_headers on;
            proxy_redirect off;

            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";

            # for deflate/uncompress request
            client_max_body_size 512k;
            client_body_buffer_size 512k;

            set $max_chunk_size 10240;
            set $max_body_size 524288;

            rewrite_by_lua_file /opt/se/nginx-scripts/inflate_body.lua;
        }
    }
}

Ссылки на файл lua здесь взяты из http://www.pataliebre.net/howto-make-nginx-decompress-a-gzipped-request.html для поддержки принятия запроса в формате gzip в конце nginx.

Когда я запускаюсервер запущен, но отправка запроса в формате gzip приводит к внутренней ошибке сервера с этими ошибками:

/ opt / se / nginx-scripts / inflate_body.lua: 20: в функции 'inflate_body' /opt / se / nginx-scripts / inflate_body.lua: 57: в функции, клиент: 192.168.3.30, сервер:, запрос: «POST / HTTP / 1.1», хост: «192.168.3.30:81» 2018/06/0615:08:28 [ошибка] 36232 # 36232: * 1 поток ввода lua прерван: ошибка времени выполнения: /opt/se/nginx-scripts/inflate_body.lua:20: модуль 'zlib' не найден: нет поля package.preload ['zlib'] нет файла '/usr/local/openresty/zlib.lua' нет файла '/usr/local/openresty/lualib/zlib.lua' нет файла '/ usr / local / openresty / lualib / resty / zlib.lua «нет файла» /usr/local/openresty/lualib/ngx/zlib.lua «нет файла» /usr/local/openresty/site/lualib/zlib.lua «нет файла» / usr / local / openresty / site /lualib / Zlib.ljbc «нет файла» /usr/local/openresty/site/lualib/zlib/init.ljbc «нет файла» /usr/local/openresty/lualib/zlib.ljbc «нет файла» / usr / local / openresty / lualib/zlib/init.ljbc «нет файла» /usr/local/openresty/site/lualib/zlib.lua «нет файла» /usr/local/openresty/site/lualib/zlib/init.lua «нет файла» / usr/local/openresty/lualib/zlib.lua «нет файла» /usr/local/openresty/lualib/zlib/init.lua «нет файла» ./zlib.lua «нет файла» / usr / local / openresty / luajit /share / luajit-2.1.0-beta3 / zlib.lua «нет файла» /usr/local/share/lua/5.1/zlib.lua «нет файла» /usr/local/share/lua/5.1/zlib/init.lua «нет файла» /usr/local/openresty/luajit/share/lua/5.1/zlib.lua «нет файла» /usr/local/openresty/luajit/share/lua/5.1/zlib/init.lua 'нет файла'/usr/local/openresty/zlib.so' нет файла '/usr/local/openresty/lualib/zlib.so' нет файла '/usr/local/openresty/lualib/resty/zlib.so' нет файла '/usr / local / openresty / lualib / ngx / zlib.so «нет файла» /usr/local/openresty/site/lualib/zlib.so «нет файла» /usr/local/openresty/site/lualib/zlib.so 'нет файла '/ usr / local / openresty / lualib / zlib.so «нет файла» ./zlib.so «нет файла» /usr/local/lib/lua/5.1/zlib.so «нет файла» / usr / local / openresty / luajit / lib / lua/5.1/zlib.so «нет файла» /usr/local/lib/lua/5.1/loadall.so'

После прочтения этой проблемы в Интернете я попытался настроить lua_package_path и lua_package_cpathвручную, но это не помогло.Я не уверен, какой еще шаг я должен предпринять, чтобы решить эту проблему?

1 Ответ

0 голосов
/ 06 июня 2018

В вашей системе не установлен соответствующий общий модуль zlib.

В дистрибутиве в стиле Debian это работает для меня: sudo apt-get install zlib1g.

Если у вас есть что-то еще, найдите подходящий пакет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...