gpt4 book ai didi

docker - 无法访问 rewrite_by_lua_block 中的 ngx.var

转载 作者:行者123 更新时间:2023-12-02 19:48:32 26 4
gpt4 key购买 nike

我正在尝试将值设置为 nginx 变量,但出现错误:

[error] 47#47: *382 lua entry thread aborted: runtime error: rewrite_by_lua(myconf.conf:23):2: attempt to index field 'var' (a nil value)
stack traceback:
coroutine 0:
rewrite_by_lua(myconf.conf:23): in function <rewrite_by_lua(myconf.conf:23):1>, client: ip, server: *.host, request: "GET / HTTP/1.1", host: "host"

我的配置部分:
        set $upstream_new '';
rewrite_by_lua_block {
ngx.var.upstream_new = "8.8.8.8";
}

如果重要的话,我会在 docker 中运行 nginx。编译:
 --prefix=/var/www/nginx --conf-path=/etc/nginx/nginx.conf --sbin-path=/usr/sbin --modules-path=/usr/lib/nginx/modules --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/tmp/nginx.pid --http-client-body-temp-path=/var/cache/nginx/body --http-fastcgi-temp-path=/var/cache/nginx/fastcgi --http-proxy-temp-path=/var/cache/nginx/proxy --http-scgi-temp-path=/var/cache/nginx/scgi --http-uwsgi-temp-path=/var/cache/nginx/uwsgi --with-pcre --with-pcre-jit --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_secure_link_module --with-http_random_index_module --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_degradation_module --with-http_v2_module --with-http_sub_module --with-http_flv_module --with-http_mp4_module --with-http_slice_module --with-stream --with-stream_ssl_module --with-stream_ssl_preread_module --with-stream_realip_module --with-stream_geoip_module=dynamic --with-mail --with-mail_ssl_module --with-threads --with-file-aio --with-compat --with-http_xslt_module=dynamic --with-http_image_filter_module=dynamic --with-http_geoip_module=dynamic --with-http_perl_module=dynamic --add-dynamic-module=/usr/src/nginx/ngx_devel_kit-0.3.1 --add-module=/usr/src/nginx/ngx_cache_purge-2.3 --add-dynamic-module=/usr/src/nginx/nginx_upstream_check_module-master --add-dynamic-module=/usr/src/nginx/lua-nginx-module-0.10.16rc5 --add-dynamic-module=/usr/src/nginx/headers-more-nginx-module-0.33 --add-dynamic-module=/usr/src/nginx/ngx_brotli --add-dynamic-module=/usr/src/nginx/ngx_http_auth_pam_module-1.5.1 --add-dynamic-module=/usr/src/nginx/echo-nginx-module-0.62rc1 --add-dynamic-module=/usr/src/nginx/ngx-fancyindex-0.4.4 --add-dynamic-module=/usr/src/nginx/nginx-dav-ext-module-3.0.0 --add-dynamic-module=/usr/src/nginx/ngx_http_substitutions_filter_module-0.6.4 --add-dynamic-module=/usr/src/nginx/nginx-upload-progress-module-0.9.2 --add-dynamic-module=/usr/src/nginx/nchan-1.2.7

最佳答案

  • 编译可能没有正确完成。试试 this post并通过添加所有模块再次进行相应的编译。
  • 如果您使用的是 Docker,那么 this is OpenResty 与 Naxsi 模块编译。您可以安全地添加模块并删除不需要的模块。
  • 使用 nginx -V 检查对于所有的编译标志,如果你看到所有的 Lua 模块。

  • 我尝试在 OpenResty 上使用以下 block 并正常工作。

    set $upstream_new '';
    rewrite_by_lua_block {
    ngx.var.upstream_new = "8.8.8.8";
    }



    set $upstream_new '';
    access_by_lua '
    ngx.var.upstream_new = "8.8.8.8";
    ';

    agentzh's Nginx Tutorials如果您是新手,可能会有所帮助。

    关于docker - 无法访问 rewrite_by_lua_block 中的 ngx.var,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62156517/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com