我在Kong Ingress Controller后面有Keycloak。 我可以在{url} / auth /上看到keycloak欢迎页面。但是,当我单击管理控制台时,我将重定向到{url}:8443 / auth / admin / master / console /
当我在管理控制台上单击时,应重定向到{url} / auth / admin / master / console /
当我在minikube上安装keycloak(带有头盔)时,不使用入口和负载平衡器就将该服务作为NodePort服务公开时,我可以访问管理控制台页面。
我在此链接中有关于此问题的详细信息-> https://github.com/codecentric/helm-charts/issues/17
我陷入了困境,不知道如何解决问题。
答案 0 :(得分:1)
我可能在一年前就遇到了这个问题,我记得那个愚蠢的重定向,但是我没有使用Kong Ingress Controller,而只是使用了普通的Kong。我遇到的问题是Kong以非特权用户身份运行,并且无法绑定到低号端口。因此,Kong绑定到8443 ssl,并将愚蠢的重定向从443重定向到8443。我通常无法修复该问题并重新发明了轮子。
我将80和443端口用于Kong:
ports:
- name: kong-proxy
containerPort: 80
- name: kong-proxy-ssl
containerPort: 443
- name: kong-admin
containerPort: 8001
- name: kong-admin-ssl
containerPort: 8444
然后定义新的端口和功能:
securityContext:
capabilities:
add:
- NET_BIND_SERVICE
env:
- name: KONG_PROXY_LISTEN
value: 0.0.0.0:80, 0.0.0.0:443 ssl
- name: KONG_ADMIN_LISTEN
value: 0.0.0.0:8001, 0.0.0.0:8444 ssl
那之后,那个愚蠢的重定向消失了。
希望有帮助。
更新
对不起,忘了提及要使端口80和443正常工作,我使用以下代码行构建自定义Docker映像:
FROM kong:1.1.1-centos
RUN chown -R kong:kong /usr/local/kong \
&& setcap 'cap_net_bind_service=+ep' /usr/local/bin/kong \
&& setcap 'cap_net_bind_service=+ep' /usr/local/openresty/nginx/sbin/nginx