美文网首页
防止开发人员随意篡改nginx测试服务端口

防止开发人员随意篡改nginx测试服务端口

作者: 夏国栋 | 来源:发表于2019-05-28 11:27 被阅读0次
背景:测试环境为共用环境,开发在测试自己的分支时,喜欢直接修改Nginx配置,把端口改为自己分支环境的服务端口
解决方法:实时监控Nginx配置(nginx.conf),发现指定行被修改后,立即回退到上次修改
流程:

1.手动备份一份最新可用的Nginx配置文件
2.启动脚本:nohup ./check_diff.sh &
3.脚本每10秒diff当前配置和备份配置
4.检查diff出的结果,如果发现包含“> fastcgi_pass 127.0.0.1:12345”,则需回退
5.如果不包含,则需更新备份配置
监控脚本:

while true;
do  
    diff /etc/nginx/nginx.conf /etc/nginx/nginx.conf.xgd > diff_res
    if [ $? -ne 0 ];
    then
        date "+%Y-%m-%d %H:%M:%S" >> ./check_diff.log
        echo '------start------' >> ./check_diff.log
        cat diff_res >> ./check_diff.log
        grep '^>[[:blank:]]*fastcgi_pass[[:blank:]]*127.0.0.1:12345' diff_res > /dev/null
        if [ $? -eq 0 ];
        then
            echo '非法更改,回退!!!' >> ./check_diff.log
            cp /etc/nginx/nginx.conf.xgd /etc/nginx/nginx.conf  
            nginx -s reload
        else
            echo '合法更改,更新备份文件。' >> ./check_diff.log
            cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.xgd
        fi
        echo '------end------\n\n' >> ./check_diff.log
    fi
    sleep 10
done

相关文章

网友评论

      本文标题:防止开发人员随意篡改nginx测试服务端口

      本文链接:https://www.haomeiwen.com/subject/tkprtctx.html