【问题标题】:Shinyproxy with keycloak redirected too many times带有 keycloak 的 Shinyproxy 重定向了太多次
【发布时间】:2021-01-09 03:28:19
【问题描述】:

我正在尝试获取使用 keycloak 的 shinyproxy 的基本示例。这是我的Dockerfile

FROM openjdk:11-jre

RUN mkdir -p /opt/shinyproxy/
RUN wget https://www.shinyproxy.io/downloads/shinyproxy-2.3.1.jar -O /opt/shinyproxy/shinyproxy.jar
COPY application.yml /opt/shinyproxy/application.yml

WORKDIR /opt/shinyproxy/
CMD ["java", "-jar", "/opt/shinyproxy/shinyproxy.jar"]

这是我的docker-compose.yml

version: "3.7"

services:
  mysql:
      image: mysql:5.7
      volumes:
        - mysqldata:/var/lib/mysql
      environment:
        MYSQL_ROOT_PASSWORD: root
        MYSQL_DATABASE: keycloak
        MYSQL_USER: keycloak
        MYSQL_PASSWORD: password
  keycloak:
      image: quay.io/keycloak/keycloak:latest
      environment:
        DB_VENDOR: MYSQL
        DB_ADDR: mysql
        DB_DATABASE: keycloak
        DB_USER: keycloak
        DB_PASSWORD: password
        KEYCLOAK_USER: admin
        KEYCLOAK_PASSWORD: Pa55w0rd
        PROXY_ADDRESS_FORWARDING: 'true'
      ports:
        - 8010:8080
      #networks:
      #  - shinyproxy-net
      depends_on:
        - mysql
  shinyproxy:
    build: .
    image: shinyproxy
    ports:
      - '8020:8080'
    networks:
      - shinyproxy-net
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
networks:
  shinyproxy-net:
    external: true
volumes:
  mysqldata:
      driver: local

这是我的application.yml

proxy:
  port: 8080
  authentication: keycloak
  useForwardHeaders: true  # not sure if necessary or not
  admin-groups: admins
  keycloak:
    realm: shinyproxy                                                     
    auth-server-url: http://localhost:8010/auth
    resource: shinyproxy                                                  
    credentials-secret: aa205d81-ae00-4b59-bca6-4c41074c633c
  docker:
      internal-networking: true
  specs:
  - id: 01_hello
    display-name: Hello Application
    description: Application which demonstrates the basics of a Shiny app 
    container-cmd: ["R", "-e", "shinyproxy::run_01_hello()"]
    container-image: openanalytics/shinyproxy-demo
    container-network: shinyproxy-net
  - id: 06_tabsets
    container-cmd: ["R", "-e", "shinyproxy::run_06_tabsets()"]
    container-image: openanalytics/shinyproxy-demo
    container-network: shinyproxy-net
logging:
  file:
    shinyproxy.log

当我转到http://localhost:8020/ 并使用我在http://localhost:8010/ 中创建的用户进行身份验证时,我收到重定向太多次错误。

我做错了什么?

【问题讨论】:

    标签: docker keycloak shinyproxy


    【解决方案1】:

    我有同样的问题,我已经调查了很多......我设法注意到“重定向太多次”背后的错误是什么

    ERROR 1 --- [  XNIO-1 task-1] o.k.adapters.OAuthRequestAuthenticator: failed to turn code into token
    
    javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
    

    我已尝试通过添加安全证书来解决它,如以下链接 https://hub.docker.com/r/jboss/keycloak/ 所示,在设置 TLS(SSL) 部分中,@Vsoma 在此链接 Keycloak SSL setup using docker image 中指示的解决方案并添加将 Keycloak 服务的体积放​​入 docker-compose-yml 中,如下所示:

    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./themes/mytheme:/opt/jboss/keycloak/themes/mytheme
      - ./keycloak/certs:/etc/x509/https
    

    并且还在standalone.xml中添加这一行:

    <socket-binding name = "proxy-https" port = "443"/>
    

    这不是一个确定的答案,但我认为这是解决问题的重大进步。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-02
      • 1970-01-01
      • 2016-10-20
      • 1970-01-01
      • 2022-01-14
      • 1970-01-01
      • 2020-08-22
      相关资源
      最近更新 更多