我正在尝试启动一个 Java 应用程序,该应用程序显然强制执行主机名解析:
java.lang.RuntimeException: Strict hostname resolution configured but no hostname was set
我尝试过应用主机名:
sudo hostname fedora
但这没有帮助。在这台机器上,我的 /etc/hosts 看起来像:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
127.0.0.1 fedora
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
除此之外,我没有配置任何其他东西,它是一个新安装的 Fedora 35 桌面发行版。
这是 hostnamectl 的输出:
hostnamectl
Static hostname: fedora
Icon name: computer-laptop
Chassis: laptop
Machine ID: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Boot ID: 5fa811cbfaf74fc3947656db997c1110
Operating System: Fedora Linux 35 (Workstation Edition)
CPE OS Name: cpe:/o:fedoraproject:fedora:35
Kernel: Linux 5.14.10-300.fc35.x86_64
Architecture: x86-64
Hardware Vendor: Lenovo
Hardware Model: ThinkPad P1 Gen 3
有什么帮助吗?
编辑:Java应用程序正在启动钥匙斗篷17
答案1
从 Keycloak 17 开始,生产模式下需要严格的主机解析。您可以使用参数提供实际的主机名--hostname
,也可以使用启动参数禁用严格的主机解析:
–-hostname-strict=false