如何配置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 前言 一个问题,一篇文章,一出故事。 今天的KeyCloak遇到CA自签名证书不信任问题,因此需 …

Keycloak
如何命令行禁用KeyCloak的LDAP Provider?

1 前言 一个问题,一篇文章,一出故事。 本章将演示如何通过命令行禁用LDAP Provider。 …

Keycloak
如何完成KeyCloak kcadm.sh工具认证?

1 前言 一个问题,一篇文章,一出故事。 如何部署RHBK 26.2.5生产模式? 本章将利用命令行 …