使用自定义基本URL为Keycloak Docker配置反向代理

如何设置docker keycloak base urlas参数?

我有以下nginx反向代理配置:

server {

listen 80;

server_name example.com;

location /keycloak {

proxy_pass http://example.com:8087/;

}

}

当我尝试访问http://example.com/keycloak/时,我得到了一个http://example.com/auth/而不是http://example.com/keycloak/auth/的keycloak

http重定向

有任何想法吗?

回答:

刚刚测试了@home,实际上需要添加多个配置:

1 /

按照文档中的说明使用env运行keycloak容器,这是访问keycloak的代理方式所必需的:

docker run -it --rm -p 8087:8080 --name keycloak -e PROXY_ADDRESS_FORWARDING=true jboss/keycloak:latest

2 /更改keycloak配置文件中的

$JBOSS_HOME/standalone/configuration/standalone.xml

默认密钥库配置指向 auth

<web-context>auth</web-context>

然后您可以将其更改为 keycloak/auth

<web-context>keycloak/auth</web-context>

如果您需要为docker自动执行此操作,只需创建一个新的keycloak映像:

FROM jboss/keycloak:latest

USER jboss

RUN sed -i -e 's/<web-context>auth<\/web-context>/<web-context>keycloak\/auth<\/web-context>/' $JBOSS_HOME/standalone/configuration/standalone.xml

3 /在nginx配置中添加一些代理信息(主要用于http / https处理)

location /keycloak {

proxy_pass http://example.com:8087;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-Proto $scheme;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

}

如果您要将请求从Nginx代理到同一服务器上的keycloak,则建议使用proxy_pass

http://localhost:8087;,如果不尝试使用私有网络,则应避免通过外部Web请求进行代理。

希望这可以帮助

以上是 使用自定义基本URL为Keycloak Docker配置反向代理 的全部内容, 来源链接: utcz.com/qa/419814.html

回到顶部