Atlassian Crowd和ELB/SLB整合导致无法登录的解决

当Atlassian Crowd在ELB/SLB负载均衡后面运行的时候,我们在安装完成登录时会发现虽然登录成功,但是又会被重定向到登录页。

这是因为Crowd默认是把IP地址也作为登录验证的一个因素,由于整合了负载均衡,如果没有配置正确的Forward信息,用户实际的IP地址没有办法拿到,而负载均衡的IP又一直在变化,所以我们需要先把IP验证关闭。

首先因为我们启用了HTTPS,所以我们需要修改$CROWD_INSTALL_HOME/apache-tomcat/conf/server.xml,在Connector节点加入以下属性

secure="true"
scheme="https"
proxyName="crowd.example.com"
proxyPort="443"

然后我们直接修改数据库,在cwd_property表中加入一行

INSERT INTO cwd_property ('property_key', 'property_name', 'property_value') VALUES ('crowd', 'validation.factors.include_ip_address', 'false');

然后我们接着修改原有的secure.cookie的值

UPDATE cwd_property SET 'property_value' = 'true' where 'property_name' = 'secure.cookie';

然后我们重启Crowd服务,再重试登录应该就可以成功了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注