Keycloak - Java App Umleitung innerhalb von DockerJava

Java-Forum
Anonymous
 Keycloak - Java App Umleitung innerhalb von Docker

Post by Anonymous »

Ich habe eine Java -Webanwendung mit Tomcat und Keycloak zur Authentifizierung. Beide Dienste (App und Keycloak) werden in separaten Docker -Containern ausgeführt, die über ein Docker Bridge -Netzwerk verbunden sind.

Code: Select all

keycloak
Service läuft unter http: // keycloak: 8080/auth Inside Docker. AS: < /p>

Code: Select all

{
"realm": "${realm}",
"auth-server-url": "http://keycloak:8080/auth",
"ssl-required": "none",
"resource": "${client_id}",
"public-client": true,
"confidential-port": 0
}
Ich hatte ein Problem, als ich versuchte, auf http: // localhost: 8090/system zuzugreifen

Code: Select all

http://keycloak:8080/auth/realms/tdoc-api/protocol/openid-connect/auth...
< /code>
, der beim Browser angezeigt wurdeERR_CONNECTION_REFUSED
, denn ich verstehe, dass dieser Dienst nicht extern vom Host nicht gelöst werden kann.

Code: Select all

{
"realm": "${realm}",
"auth-server-url": "http://localhost:8012/auth",
"ssl-required": "none",
"resource": "${client_id}",
"public-client": true,
"confidential-port": 0
}
< /code>
, aber meine App war fehlgeschlagen, als er versuchte, einen 500 internen Serverfehler anzumelden: < /p>
[WARN ] 12:08:46.150 org.keycloak.adapters.KeycloakDeployment.resolveUrls() - Failed to load URLs from http://localhost:8012/auth/realms/${realm}/.well-known/openid-configuration
java.net.ConnectException: Connection refused (Connection refused)
< /code>
Da es nicht aus dem Container auflösen kann, wird mein Dienst lokal im 8012 -Port ausgesetzt. Was ich denke, war die Antwort in diesem Beitrag: https://stackoverflow.com/a/74929659
Weiß jemand, warum diese Lösung für mich nicht funktioniert hat? /> [*] KeyCloak_Frontend_url = http: // localhost: 8012/auth

Mehr Kontext meiner Docker -Umgebung: 
version: '3'
services:
app-db:
image: mysql:5.7
ports:
- "3309:3306"
environment:
MYSQL_ROOT_PASSWORD: example
networks:
- my-network

my-app:
build: .
ports:
- "8090:8080"
- "8000:8000"
environment:
- JAVA_OPTS=...
volumes:
- ./app:/usr/local/tomcat/webapps/my-app
depends_on:
- app-db
networks:
- my-network

keycloak:
image: quay.io/keycloak/keycloak:16.1.1
ports:
- "8012:8080"
environment:
- DB_VENDOR=mysql
- DB_ADDR=keycloak-db
- DB_PORT=3306
- DB_USER=keycloak_user
- DB_PASSWORD=keycloak_pass
- DB_DATABASE=keycloak
- PROXY_ADDRESS_FORWARDING=true
- KEYCLOAK_FRONTEND_URL=http://localhost:8012/auth
volumes:
- ./themes:/opt/jboss/keycloak/themes
depends_on:
- keycloak-db
networks:
- my-network

keycloak-db:
image: mysql:5.7
ports:
- "3307:3306"
environment:
- MYSQL_ROOT_PASSWORD=keycloak_pass
- MYSQL_DATABASE=keycloak
- MYSQL_USER=keycloak_user
- MYSQL_PASSWORD=keycloak_pass
volumes:
- ./volumes/mysql:/var/lib/mysql
networks:
- my-network

networks:
my-network:
external: true
name: my-network

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post