验证 Memcached 是否支持 SASL:
memcached -h | grep -i sasl
有输出表示支持。
服务器设置sasl配置
创建/etc/sasl2/memcached.conf 文件,由于是内网 使用plain明文模式
sasldb_path: /etc/sasl2/memcached.sasldb
mech_list: plain
使用命令生成memcached.sasldb文件
saslpasswd2 -a memcached -c <username> -f /etc/sasl2/memcached.sasldb -u memcached
chmod 644 /etc/sasl2/memcached.sasldb
重启memcached
java端修改(xmemcached 1.3.6)
AuthInfo authInfo = AuthInfo.plain("<username>@memcached", "password");
// 将认证信息设置到 builder
Set<InetSocketAddress> inetSocketAddresses = addressMap.keySet();
for (InetSocketAddress inetSocketAddress : inetSocketAddresses) {
builder.addAuthInfo(inetSocketAddress, authInfo);
}
这里是内网明文连接,连接后验证是否可以正常取放。