在 keycloak-gatekeeper 的请求中找不到会话错误

Error no session found in request from keycloak-gatekeeper

我正在尝试通过 keycloak 保护 kibana,但登录后,keycloak-gatekeeper 抛出多个错误并且浏览器显示 ERR_TO_MANY_REDIRECTS:

info    issuing access token for user   {"email": "xxx@example.com", "expires": "2019-03-23T00:18:30Z", "duration": "1m3.401805266s"}
error   no session found in request, redirecting for authorization      {"error": "authentication session not found"}

我的keycloak-gatekeeper配置文件是这样的:

skip-openid-provider-tls-verify: true
secure-cookie: false
discovery-url: https://keycloak.example.com/auth/realms/REALM
client-id: kibana
client-secret: xxx-xxx...
listen: 0.0.0.0:3000
enable-refresh-tokens: true
redirection-url: http://kibana.example.com/
encryption-key: AgXa7xRcoClDEU0ZDSH4X0XhL5Qy2Z2j
upstream-url: http://kibana:5601

我的 apache2 vhost 配置文件是这样的:

Define VHOST_KIBANA kibana.example.com
<VirtualHost ${VHOST_KIBANA}:80>
    ServerName ${VHOST_KIBANA}

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    ProxyRequests On
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>

    ProxyPass / http://127.0.0.1:8180/
    ProxyPassReverse / http://127.0.0.1:8180/

    <Location />
        Order allow,deny
        Allow from all
    </Location>
</VirtualHost>

是什么导致了该错误?

谢谢

问题出在 apache 配置上,这样就可以正常工作了:

Define VHOST_KIBANA kibana.example.com
<VirtualHost ${VHOST_KIBANA}:80>
    ServerName ${VHOST_KIBANA}

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    ProxyPreserveHost On

    ProxyPass / http://127.0.0.1:8180/
    ProxyPassReverse / http://127.0.0.1:8180/
</VirtualHost>