如何配置KeyCloak读取/etc/hosts的设置?

Keycloak

1 前言

一个问题,一篇文章,一出故事。

如何升级RHBK的版本?


Quarkus/RHBK默认使用JDK内置DNS解析器,存在两个关键限制:
– JDK默认缓存DNS,不会实时重读“/etc/hosts”;
– 某些JDK安全策略或容器环境下,JDK不读取系统hosts,直接走DNS服务器(resolv.conf);
– 如果是容器部署RHBK,宿主机“/etc/hosts”和容器内部是隔离的,改宿主机没用。
本章将实现Keycloak使用/etc/hosts的设置。

2 最佳实践

2.1 修改配置文件

vim /etc/systemd/system/keycloak.service

加入如下参数,

Environment="JAVA_OPTS_APPEND=-Djava.net.preferHostsFile=true -Dsun.net.inetaddr.ttl=0 -Dsun.net.inetaddr.negative.ttl=0 -Dcom.sun.jndi.ldap.object.disableEndpointIdentification=true"

配置修改后,你需要使用如下命令重载服务使控制脚本加载最新配置,

systemctl daemon-reload

2.2 重启服务使配置生效

systemctl restart keycloak

2.3 验证配置

systemctl show keycloak | grep JAVA\_OPTS\_APPEND

如果成功可见如下显示,

Environment=KEYCLOAK_ADMIN=admin KEYCLOAK_ADMIN_PASSWORD=adminpwd "JAVA_OPTS_APPEND=-Djava.net.preferHostsFile=true -Dsun.net.inetaddr.ttl=0 -Dsun.net.inetaddr.negative.ttl=0 -Dcom.sun.jndi.ldap.object.disableEndpointIdentification=true"
没有评论

发表回复

Keycloak
如何开启Keycloak的日志调试模式?

1 前言 一个问题,一篇文章,一出故事。 如何升级RHBK的版本? 本章将实现升级后Keycloak …

Keycloak
如何删除KeyCloak Realm?

1 前言 一个问题,一篇文章,一出故事。 如何导出不包含客户端的非本地数据库的KeyCloak Re …

Keycloak
如何导出不包含客户端的非本地数据库的KeyCloak Realm?

1 前言 一个问题,一篇文章,一出故事。 如何导出KeyCloak Realm? 上面的章节,我们完 …