openresty开启 POST参数校验 后上传文件500

openresty开启 POST参数校验 后上传文件出现500错误,关闭后上传正常

[error] 197#197: *1824 lua entry thread aborted: runtime error: /www/common/waf/access.lua:128: bad argument #1 to ‘ipairs’ (table expected, got nil)
stack traceback:

可以试一下下面的方法:

1、从应用商店 - 已安装,进入 openresty 的安装目录
2、使用 https://github.com/1Panel-dev/waf/blob/main/access.lua 这个文件替换 www/common/waf 下面的 access.lua
3、重启 OpenResty

1 个赞

access错误已解决 :call_me_hand:谢谢

仓库没有发现这个文件,目前H5上传没有问题,APP应用上传,仍然出现500错误这个问题,希望可以改一下,那个不打开POST校验感觉有种裸跑的状态

看一下 openresty 容器日志 和 网站日志,错误信息贴出来

openresty 容器日志
2024/03/14 12:10:14 [notice] 1#1: using the “epoll” event method
2024/03/14 12:10:14 [notice] 1#1: openresty/1.21.4.3
2024/03/14 12:10:14 [notice] 1#1: built by gcc 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2)
2024/03/14 12:10:14 [notice] 1#1: OS: Linux 3.10.0-957.21.3.el7.x86_64
2024/03/14 12:10:14 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 65536:65536
2024/03/14 12:10:14 [notice] 1#1: start worker processes
2024/03/14 12:10:14 [notice] 1#1: start worker process 7
2024/03/14 12:10:14 [notice] 1#1: start worker process 8

网站日志
2024/03/14 12:11:05 [error] 8#8: *5 lua entry thread aborted: runtime error: /www/common/waf/access.lua:128: bad argument #1 to ‘ipairs’ (table expected, got nil)
stack traceback:
coroutine 0:
[C]: in function ‘ipairs’
/www/common/waf/access.lua:128: in function ‘Set’
/www/common/waf/access.lua:113: in function ‘fileExtCheck’
/www/common/waf/access.lua:346: in function ‘postCheck’

遇到同样问题,仓库里确实没找到这个lua文件,报错日志与楼上相同

https://github.com/1Panel-dev/appstore/blob/dev/apps/openresty/1.21.4.3-0-focal/www/common/waf/access.lua