美文网首页
防止开发人员随意篡改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