NGINX/WAF出现 mkdir() “/var/tmp/nginx/client_body “failed(2:No such file or directory)

背景

WAF进行证书替换时,发现部分过滤节点 nginx重启遇到上述异常。

故障定位

1.使用“nginx -V” 查看waf nginx安装时添加的编译参数及配置信息。确认http-client-body-temp-path在编译过程当中配置存储路径,确认是否为安装问题。

http-client-body-temp-path配置说明

对生节点执行“nginx -V”;结果如下:

nginx version: styx2.5.0

built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)

built with OpenSSL 1.1.1  11 Sep 2018

TLS SNI support enabled

configure arguments: --prefix=/usr/local/nginx --sbin-path=/usr/sbin/nginx --conf-path=/usr/local/nginx/waf/nginx_lua.conf --error-log-path=/usr/local/nginx/logs/waf.error.log --http-log-path=/usr/local/nginx/logs/waf.access.log --pid-path=/usr/local/nginx/logs/nginx.pid --lock-path=/var/lock/nginx.lock --user=nginx --group=nginx --with-http_ssl_module --with-http_v2_module --with-http_stub_status_module --with-http_sub_module --wi
### Nginx 安全配置基线调整脚本示例 以下是基于现有引用内容以及专业知识设计的一个用于调整 Nginx 安全配置基线的 Bash 脚本示例: ```bash #!/bin/bash # 设置变量 NGINX_CONF="/etc/nginx/nginx.conf" WAF_DIR="/usr/local/nginx/conf/waf" # 检查并创建 WAF 目录 if [ ! -d "$WAF_DIR" ]; then mkdir -p $WAF_DIR fi # 下载 ngx_lua_waf 模块 echo "正在下载 ngx_lua_waf 模块..." wget https://github.com/loveshell/ngx_lua_waf/archive/master.zip -O waf.zip unzip waf.zip -d $WAF_DIR mv $WAF_DIR/ngx_lua_waf-master/* $WAF_DIR/ rm -rf $WAF_DIR/ngx_lua_waf-master waf.zip # 添加 Lua 配置到 Nginx 主配置文件 cat <<EOF >>$NGINX_CONF # 开启 WAF 功能 lua_package_path "/usr/local/nginx/conf/waf/?.lua"; lua_shared_dict limit 10m; init_by_lua_file /usr/local/nginx/conf/waf/init.lua; access_by_lua_file /usr/local/nginx/conf/waf/waf.lua; server { listen 80; server_name example.com; # 启用安全头设置 if (\$secure_headers = "true") { add_header X-XSS-Protection "1; mode=block"; add_header Content-Security-Policy "default-src 'self'"; } location / { proxy_pass http://backend; } } EOF # 检查 Nginx 配置语法 echo "检查 Nginx 配置语法..." nginx -t # 如果配置无误,则重新加载服务 if [ $? -eq 0 ]; then echo "重新加载 Nginx 服务..." systemctl reload nginx else echo "Nginx 配置错误,请手动检查!" fi ``` #### 解析 该脚本实现了以下功能: - 自动化下载并部署 `ngx_lua_waf` 模块,增强 Web 应用程序安全性[^2]。 - 将必要的 Lua 参数写入 Nginx 的主配置文件中,启用 WAF 功能。 - 在服务器块中加入 `$secure_headers` 判断逻辑,动态添加 HTTP 安全头部字段[^3]。 需要注意的是,如果用户的 Nginx 是自定义安装而非标准路径 `/etc/nginx/nginx.conf`,则需根据实际情况修改脚本中的路径配置[^1]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值