来自Docker Letsencrypt证书和ERR_SSL_VERSION_OR_CIPHER_MISMATCH的密钥斗篷

时间:2019-09-27 15:58:25

标签: docker ssl certificate keycloak lets-encrypt

我正在尝试从Docker Hub here上的Docker映像运行Keycloak。如果我使用以下命令运行容器:

+---+-------+
| _1|sum(_2)|
+---+-------+
|  A|      2|
|  B|      0|
|  c|      1|
|  d|      1|
+---+-------+

根据前面提到的网站针对此图像的说明设置音量:

  

设置TLS(SSL)Keycloak映像可让您同时指定   私钥和用于服务HTTPS的证书。在这种情况下,您需要   提供两个文件:

     

tls.crt-证书

     

tls.key-私钥

     

这些文件需要   安装在/ etc / x509 / https目录中。图像将自动   将它们转换为Java密钥库,然后重新配置Wildfly以使用它。

在/ opt / mountcertificate中,我具有根据本主题中给出的指示生成的.key和.crt文件:

Keycloak SSL setup using docker image

证书是由certbot从letsencrypt颁发的,这些文件是我稍后提到的主题进行以后转换的起点。我知道这是同一个问题,但也许对于这个问题有解决方案。

尝试了许多不同的方法并在网络上寻找可行的方法后,我真的很绝望。

1 个答案:

答案 0 :(得分:1)

您需要确保Docker内部的jboss用户可以读取密钥文件。这是我的解决方案中的一些关键步骤:

1. get cert/key from let's encrypt.
2. change file mode to 655
3. mount them to keycloak:
      - /opt/www/sso/cert/fullchain.pem:/etc/x509/https/tls.crt
      - /opt/www/sso/cert/privkey.pem:/etc/x509/https/tls.key
4. launch docker image
5. change file mode back to 600 for the key file.