can't login openstack dashboard

基于M版本的HA环境。

运行一段时间后(期间追加安装了不少服务:heat,  aodh, ceilometer等)。突然发现无法登录dashboard了。

查看日志(/var/log/httpd/error.log)发现如下record

======

[Wed Jun 01 01:55:22.232869 2016] [:error] [pid 30560] Login successful for user "admin".
[Wed Jun 01 01:55:22.292997 2016] [:error] [pid 30560] Total Cookie size for user_id: ce6760c4525f4a0a8b8ac805a568d317 is 4248B >= 4093B. You need to configure file-based or database-backed sessions instead of cookie-based sessions: http://docs.openstack.org/developer/horizon/topics/deployment.html#session-storage
[Wed Jun 01 01:55:30.014698 2016] [:error] [pid 30560] Total Cookie size for user_id: ce6760c4525f4a0a8b8ac805a568d317 is 4193B >= 4093B. You need to configure file-based or database-backed sessions instead of cookie-based sessions: http://docs.openstack.org/developer/horizon/topics/deployment.html#session-storage

======

查看代码,发现是因为openstack返回给浏览器的cookie超过了最大值:

======

cat  /usr/lib/python2.7/site-packages/horizon/middleware.py


            max_cookie_size = getattr(
                settings, 'SESSION_COOKIE_MAX_SIZE', None)
            session_cookie_name = getattr(
                settings, 'SESSION_COOKIE_NAME', None)
            session_key = request.COOKIES.get(session_cookie_name)
            if max_cookie_size is not None and session_key is not None:
                cookie_size = sum((
                    len(key) + len(value)
                    for key, value in six.iteritems(request.COOKIES)
                ))
                if cookie_size >= max_cookie_size:
                    LOG.error(
                        'Total Cookie size for user_id: %(user_id)s is '
                        '%(cookie_size)sB >= %(max_cookie_size)sB. '
                        'You need to configure file-based or database-backed '
                        'sessions instead of cookie-based sessions: '
                        'http://docs.openstack.org/developer/horizon/topics/'
                        'deployment.html#session-storage'
                        % {
                            'user_id': request.session.get(
                                'user_id', 'Unknown'),
                            'cookie_size': cookie_size,
                            'max_cookie_size': max_cookie_size,
                        }
                    )


================

第一想法是修改openstack设定的cookie max size。

后来查了资料,浏览器也是有cookie限制的(如下所示)

后来再请教大牛:浏览器cookie限制无法修改:那我改openstack有毛用。

老老实实把cookie改成数据库模式吧(后续分析)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值