首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于码头组合的Keycloak Keystore和Truststore设置

用于码头组合的Keycloak Keystore和Truststore设置
EN

Stack Overflow用户
提问于 2022-06-01 08:58:04
回答 1查看 1.3K关注 0票数 0

我正在为生产服务器开发密钥披风,遗留的密钥披风似乎不需要这个,但是最新的密钥披风需要启用KEYCLOAK_PRODUCTION=true,而当我们启用这个变量时,系统也要求我们启用KEYCLOAK_ENABLE_TLS=true,然后我们也需要定义通往信任库和密钥存储库的路径。这是我的船坞撰写文件

代码语言:javascript
运行
复制
     version: "3.9" 
     services: 
       postgres: 
         container_name: postgres_blog 
         image: "postgres" 
         env_file: 
           - ./database.dev.env 
         networks: 
           - backend 
         volumes: 
           - ./db-data:/var/lib/postgresql/data/ 
           - ./sql:/docker-entrypoint-initdb.d/:ro 
         ports: 
           - "127.0.0.1:5432:5432" 
       keycloak: 
         container_name: keycloak_blog 
         image: "bitnami/keycloak:latest"
         # command: bash ./x509.sh
         depends_on: 
           - "postgres" 
         env_file: 
           - ./keycloak.dev.env 
         ports: 
           - "127.0.0.1:8180:8080" 
           - "127.0.0.1:8787:8787" # debug port 
         networks: 
           - backend 
         volumes:                                                  
           -./keycloak/keystore:/opt/bitnami/keycloak/certs/keycloak.keystore.jks
           - ./keycloak/truststore:/opt/bitnami/keycloak/certs/keycloak.truststore.jks
     networks: 
       backend: 
         name: backend 
         driver: bridge

这是我的keycloak.dev.env

代码语言:javascript
运行
复制
    KEYCLOAK_CREATE_ADMIN_USER=false
    KEYCLOAK_ADMIN=admin
    KEYCLOAK_ADMIN_PASSWORD=password
    KEYCLOAK_USER= user 
    KEYCLOAK_PASSWORD= password 
    KEYCLOAK_PRODUCTION=true  
    KEYCLOAK_ENABLE_TLS=true
    KEYCLOAK_TLS_TRUSTSTORE_FILE=opt/bitnami/keycloak/certs/keycloak.truststore.jks
    KEYCLOAK_TLS_KEYSTORE_FILE=opt/bitnami/keycloak/certs/keycloak.keystore.jks
    KEYCLOAK_TLS_TRUSTSTORE_PASSWORD=changeit
    KEYCLOAK_TLS_KEYSTORE_PASSWORD=changeit
    KEYCLOAK_TLS_CREATE_KEYSTORE=true
    DEBUG=true 
    DEBUG_PORT='*:8787' 
    DB_VENDOR=POSTGRES 
    DB_ADDR=postgres 
    DB_PORT=5432 
    DB_DATABASE=keycloak 
    DB_USER=dev 
    DB_PASSWORD=pwd 
    TZ=Asia/Kathmandu

这是我的database.dev.env

代码语言:javascript
运行
复制
    POSTGRES_USER="dev" 
    POSTGRES_PASSWORD="pwd" 
    POSTGRES_DB="keycloak"

当我运行对接-组合向上命令时,这个错误消息将在末尾弹出,并且keycloak容器退出。

代码语言:javascript
运行
复制
    keycloak_blog | 2022-06-01 14:39:13,319 INFO  [org.infinispan.CLUSTER] (main) ISPN000080: Disconnecting JGroups channel `ISPN`        
    keycloak_blog | 2022-06-01 14:39:13,494 ERROR [org.keycloak.quarkus.runtime.cli.ExecutionExceptionHandler] (main) ERROR: Failed to start server in (production) mode
    keycloak_blog | 2022-06-01 14:39:13,495 ERROR [org.keycloak.quarkus.runtime.cli.ExecutionExceptionHandler] (main) ERROR: Is a directory
    keycloak_blog | 2022-06-01 14:39:13,495 ERROR [org.keycloak.quarkus.runtime.cli.ExecutionExceptionHandler] (main) For more details run the same command passing the '--verbose' option. Also you can use '--help' to see the details about the usage of the particular command.
    keycloak_blog exited with code 1

注意:我在windows系统中使用码头容器.

我已经实现了所有这些,但是当我试图运行服务器时,错误消息将被记录下来。真的困在这一点上,任何帮助都将不胜感激!提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-01 14:53:55

我在你的配置中偶然发现了几件事:

  1. in keycloak.dev.envKEYCLOAK_TLS_TRUSTSTORE_FILEKEYCLOAK_TLS_KEYSTORE_FILE缺乏路径中的根/docker-compose.yml中的
  2. :我对您试图将相对路径映射到密钥库/信任存储库的尝试感到惊讶(您可能会发现此讨论很有帮助,而且我只能通过错误消息Is a directory猜测您的卷装入点。H 213G 214
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72459038

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档