问题标签 [nginx-module]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
nginx - nginx 镜像模块对大型响应主体的“对等连接重置”
我想使用ngx_http_mirror_module将请求复制到另一个后端。
这是我的 nginx.conf。
Nginx 版本是 1.19.10
我的 Spring 应用程序监听 8080 和 18080。
问题是当处理镜像请求的后端服务器返回一个大的主体响应时,后端服务器会抛出 ClientAbortException,因为connection reset by peer
. nginx 错误日志中没有记录任何内容。nginx 访问日志记录镜像请求的状态 200。
当响应大小为 4k 字节或更大时,往往会出现问题。增加proxy_buffer_size可能会解决问题,但是如果响应大小很大(8k字节或更大?),即使它小于proxy_buffer_size,也会出现问题。
我尝试更改 subrequest_output_buffer_size,但没有任何改变。
我怎样才能停止错误?
nginx - nginx - njs - ngx_http_auth_request_module 如何向用户返回 302?
我正在使用 njs ngx_http_auth_request_module。
我有这样的js函数;
文档说“如果子请求返回 2xx 响应代码,则允许访问。如果它返回 401 或 403,则访问被拒绝并带有相应的错误代码。子请求返回的任何其他响应代码都被视为错误。” http://nginx.org/en/docs/http/ngx_http_auth_request_module.html
如果 subsequest 进入“else”块,我需要向用户返回 302。
有没有办法做到这一点?如果我设置 r.return(302),它会在浏览器中显示错误页面,如文档所述。
编辑:我的 nginx.conf
http://my-specific-url 返回
- 200,如果 jwt cookie 有效
- 302(带返回位置),如果 jwt cookie 无效
nginx - 添加 Nginx 1.20.1 GeoIP2 模块
我正在尝试configure
通过以下安装使用 nginx 构建 GeoIP2 模块:
https ://github.com/leev/ngx_http_geoip2_module
首先我还是不明白static
和dynamic
模块之间的定义是什么,为什么我不能只是apt install
那个模块..
问题是我想在不同的机器上构建/创建它,所以我必须configure
通过复制此命令的输出来从目标机器复制标志:
然后我在测试机器上运行了这个命令:
然后在连续之后我将文件名复制ngx_http_geoip2_module.so
到目标机器并运行nginx -t
我得到了这个错误:
我的目标机器:Ubuntu 20 Nginx 1.20.1
nginx - 如何在我的 c nginx 模块中引用共享库文件(.so)?
现在我需要在我的 c nginx 模块中引用一个共享库文件。我可以通过 CMakeFileLists 使用 cmake 执行此操作,但是 nginx 使用“config”文件将 nginx 模块制作成 nginx。所以我不知道该怎么做。
你能给我一些关于如何编写“配置”文件以将 .so 文件引用到 nginx 或 nginx 模块的提示吗?或其他方式在我的 nginx 模块中引用 .so 文件。非常感谢您。
nginx - NGINX 模块编辑请求正文
我正在尝试创建一个 NGINX 模块以将属性注入请求正文(所有请求均为 JSON 格式)以发送到上游。这个想法是验证承载身份验证令牌,从令牌中获取属性并将其注入请求正文以供后端使用。身份验证工作正常,我能够找到一种方法来操纵正文以处理较小的请求(但我不知道我是否正确执行此操作,如果我错了请纠正我)。但是当请求非常大时,代码不起作用并且还会锁定请求。
这是我到目前为止编写的代码:
那是我的 NGINX 配置:
这是日志:
你们能帮我使它工作吗?
谢谢!
nginx - 使用自定义模块 nginx-module-vts 的 Nginx 高 CPU 使用率
也许有人在使用 nginx-module-vts(https://github.com/vozlt/nginx-module-vts)时遇到了 nginx 上 CPU 负载高的问题?我观察到这样一种情况,当达到每秒请求负载的某个值时,CPU 上的波状负载会高达 100%,此时 Web 服务器的性能会下降。当我在没有模块的情况下运行 nginx 时,一切都运行稳定,服务器可以容纳更多请求。我正在使用最新版本的模块和 nginx/1.18.0。在我的情况下,它是 80k/s,带有 2 个处理器(Intel(R) Xeon(R) CPU E5-2630 v4 @ 2.20 GHz)。),32 GB 的 RAM 会导致 CPU 使用率过高。没有模块,它是 150k+/s,我看到了性能余量。也许有人有类似情况的经验,并有优化或避免这种行为的提示?