我有一个关于Wildfly/Undertow和JBoss-CLI设置Keycloak的web上下文的问题。
环境变量本身似乎没有被解析,但其他环境变量似乎被解析了。
我已经创建了以下CLI脚本:
/subsystem=keycloak-server/:write-attribute(name=web-context,value=${env.KEYCLOAK_WEB_CONTEXT:auth})这是由docker构建执行的,并且standalone.xml中的结果看起来也很好:)
当启动Keycloak-Service时,它不会解析变量,它只会使用变量本身:
14:30:30,556 INFO [org.wildfly.extension.undertow] (ServerService
Thread Pool -- 60) WFLYUT0021: Registered web context:
'/${env.KEYCLOAK_WEB_CONTEXT:auth}' for server 'default-server'在使用jboss-cli.sh连接到容器并请求我获得的变量后:
[standalone@localhost:9990 subsystem=keycloak-server] ls -l
ATTRIBUTE VALUE TYPE
web-context ${env.KEYCLOAK_WEB_CONTEXT:auth} STRING使用已解析表达式:
[standalone@localhost:9990 subsystem=keycloak-server] ls -l --resolve-expressions
ATTRIBUTE VALUE TYPE
web-context helloworld/auth STRING到目前为止,一切看起来都很好。你知道为什么Undertow从变量开始而不是解析变量吗?它是一个潜在的bug吗?
致以最良好的问候,并感谢您的帮助!
发布于 2020-06-12 00:09:11
我知道这是两年前的事了,但我最近试图解决这个问题,所以我想如果有人遇到这个问题,我会跟进的。
不要在表达式中使用${env.VAR}模式,而是在脚本顶部使用它们作为变量赋值。从父示例中借用:
set CONTEXT=${env.KEYCLOAK_WEB_CONTEXT}
/subsystem=keycloak-server/:write-attribute(name=web-context,value=$CONTEXT)环境变量作为$CONTEXT的值被拉入,即使我在写属性行中使用它时它从来都不起作用。
https://stackoverflow.com/questions/46892613
复制相似问题