首页 » Linux » CentOS » 通过nginx代理请求执行linux命令

通过nginx代理请求执行linux命令

 

本文基于Centos7验证,其中文中nginx使用的是wlnmp一键安装包(默认集成lua),当然你也可以用openresty,如果使用openresty那么文中有些配置方式可能不适用,需要自行调整,建议使用https://www.wlnmp.com/来安装nginx。

生产环境不建议这么”玩“,风险非常大,如果非要玩,可以考虑添加401认证。

1、安装一些所需依赖

2、安装sockproc

方法一:

方法二:

3、通过socket方式启动服务

4、安装nginx

5、安装lua-resty-shell模块

先创建resty目录

方法一:

直接执行以下命令即可

方法二:

6、编写lua脚本

7、开启nginx的lua支持

取消以下两行前面#号注释,开启lua支持

lua_package_path "/usr/local/nginx/conf/waf/?.lua";
lua_shared_dict limit 10m;

8、配置lua访问路径

9、重启nginx,访问以下地址测试效果

http://IP/api/shell?sh=date

注:我这里是通过浏览器执行date命令,你可以把date换成任意命令,例如查看nginx进程

http://IP/api/shell?sh=ps aux | grep nginx

原文链接:通过nginx代理请求执行linux命令,转载请注明来源!

0