Docker 带KeyClope的Shinyproxy重定向次数过多
我正在尝试获取shinyproxy使用KeyClope的基本示例。这是我的Docker 带KeyClope的Shinyproxy重定向次数过多,docker,keycloak,shinyproxy,Docker,Keycloak,Shinyproxy,我正在尝试获取shinyproxy使用KeyClope的基本示例。这是我的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.ym
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
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
这是我的应用程序。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
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/
我收到重定向次数过多的错误
我做错了什么?我也有同样的问题,我已经调查了很多。。。我注意到了“重定向太多次”背后的错误 我试图通过在设置TLS(SSL)一节中添加安全证书(如以下链接所示)来解决此问题,在该链接中使用@Vsoma所示的解决方案,并将keydepot service to container的卷添加到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"/>
这不是一个明确的答案,但我认为这是解决问题的一个重大进步