0.背景
想在window机器上访问内网集群的CDH组件(如solr的webui),由于集群配置了Kerberos验证,所以需要配置相关,否则打开webui会有401未授权错误
1. 流程
1.1 windows安装Kerberos客户端 -下载
Windows系统客户端去下面网站按需下载
http://web.mit.edu/kerberos/dist/
需要注意目前MIT Kerberos for Windows
有3.X版本和4.X版本,3.X版本是为 32-bit versions of Windows 2000, XP, 2003, 2003 R2, Vista and WOW64 环境准备的!
4.X则是 win7和win10 !按需下载
1.2 安装
无论是exe还是msi格式一般一路next即可
1.3 配置文件
-
去Linux集群下载集群 Kerberos 配置文件(/etc/krb5.conf) 到本机
-
将配置文件重命名为 krb5.ini
-
注释配置文件中 linux 相关路径,删除 [logging] 项:
将krb5.ini文件复制下下列路径(如修改过安装路径,请对应修改)C:\ProgramData\MIT\Kerberos5\krb5.ini
C:\Program Files\MIT\Kerberos\krb5.ini
C:\Windows\krb5.ini
1.4 环境变量
系统变量中的PATH变量,确保Kerberos路径变量置于java路径变量之前(最好是移动最前面)
1.5客户端登录发起认证
get tickle->输入Kerberos账户密码,正常情况果客户端界面可以看到票据
1.6 火狐配置可信域
- 火狐浏览器url栏输入 about:config
- 输入 network.auth.use-sspi,并点击切换到 false
- 输入 network.negotiate-auth.trusted-uris,输入可信 URL 地址( 仅域名、IP ,也可带端口和 http,使用逗号分隔),例如:
xx01.xx.com,xx02.xx.com
配置后访问集群组件url应该就可以正常显示了
2. 疑惑
配置完火狐打开url仍是一片空白,f12打开控制台查看网络请求,大概率是502或者401错误
如果火狐 network.negotiate-auth.trusted-uris 配置的是域名考虑将Windows本机的hosts文件进行ip和域名的映射
还不行就是网络访问时流量被转发or拦截了,比如你开着vpn代理,关掉vpn