You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Quarkus版Keycloak 20中能否使用undertow-handlers.conf文件?

在Keycloak中实现Undertow URL重写(无需修改Jar包)

替代方案:直接用Quarkus配置属性

Keycloak基于Quarkus构建,无需依赖undertow-handlers.conf文件,直接在配置里定义重写规则即可:

  • 若使用XML配置文件(如standalone.xml/standalone-ha.xml),在Undertow子系统中添加处理器配置:
    <subsystem xmlns="urn:jboss:domain:undertow:12.0" default-server="default-server" default-virtual-host="default-host">
      <server name="default-server">
        <host name="default-host" alias="localhost">
          <!-- 新增URL重写处理器 -->
          <handler name="rewrite-handler" class="io.undertow.server.handlers.PathRewriteHandler">
            <option name="pattern" value="/old-path/(.*)"/>
            <option name="location" value="/new-path/$1"/>
          </handler>
          <filter-ref name="rewrite-handler" predicate="true"/>
        </host>
      </server>
    </subsystem>
    
  • 若使用keycloak.conf(Quarkus风格配置),直接追加属性:
    quarkus.undertow.handlers.path-rewrite.pattern=/old-path/(.*)
    quarkus.undertow.handlers.path-rewrite.location=/new-path/$1
    

挂载外部配置文件(Docker部署场景)

如果一定要用undertow-handlers.conf,可以通过挂载让Keycloak加载外部文件:

  1. 创建undertow-handlers.conf并写入规则,示例:
    path(/old-path/*) -> rewrite(/new-path/$1)
    
  2. 启动容器时挂载文件到Quarkus类路径能扫描到的位置:
    docker run -v ./undertow-handlers.conf:/opt/keycloak/lib/quarkus/META-INF/undertow-handlers.conf quay.io/keycloak/keycloak:latest start-dev
    

注意事项

  • 重写规则需符合Undertow语法,避免语法错误导致启动失败
  • 修改配置后必须重启Keycloak生效
  • 集群部署时要保证所有节点配置一致

内容的提问来源于stack exchange,提问作者m0thra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 11:17:13