• 循环登录提示“您为登录或者认证已过期,请重新登录”


    1. 项目场景

    host os:Kylin-Server-10-SP1
    docker: docker-ce-18.09.7
    cloud: openstack queens


    2. 问题描述及原因分析

    云平台web输入正确的用户名和密码后,出现提示“您为登录或者认证已过期,请重新登录”,一直循环往复,登录不了,如下如:
    在这里插入图片描述
    通过F12进入调试模式,然后重新输入再次登录,获取到Internal Server Error及You can’t write a against a read only slave,如下信息:
    在这里插入图片描述
    针对Internal Server Error进一步点击,查看reponse,也是报You can’t write a against a read only slave,从WEB架构了解到采用了redis作为token的缓存,怀疑redis缓存只读不可写有关,进入redis容器,通过redis-cli连接,例如:redis-cli -h x.x.x.x -a $redis_password,进入redis交互模式,执行FLUSHDB,出现了页面的报错,如下:
    在这里插入图片描述验证了猜想,故是redis的问题,简单粗暴的方式就把redis停掉,然后删除数据,重新初始化生成,如下:

    docker stop redis_sentinel redis
    rm -rf /var/lib/docker/volumes/redis/_data/*
    docker start redis_sentinel redis
    
    • 1
    • 2
    • 3

    若是三控,则三个节点均要执行。

    还有可能是时间终端与服务器时间不一致等等情况。


    3. 解决方案

    redis的问题,简单粗暴的方式就把redis停掉,然后删除数据,重新初始化生成,如下:

    docker stop redis_sentinel redis
    rm -rf /var/lib/docker/volumes/redis/_data/*
    docker start redis_sentinel redis
    
    • 1
    • 2
    • 3

    若是三控,则三个节点均要执行。

  • 相关阅读:
    刷题之Leetcode27题(超级详细)
    用Asm生成Class字节码文件
    Java 写个注解并使用
    E - Stoned Game
    双动子大理石高速直线模组在检测设备中的应用
    mysql笔记
    嵌入式优势到底在哪里?
    idea设置了maven会自动变回C盘那个
    【iptables 实战】06 iptables网络防火墙实验
    【附源码】计算机毕业设计SSM手机维修服务系统
  • 原文地址:https://blog.csdn.net/nanhai_happy/article/details/126712540