【问题标题】:Error "ssl handshake failure" when use docker container使用 docker 容器时出现“ssl 握手失败”错误
【发布时间】:2020-08-14 14:07:21
【问题描述】:

我有一个用 Java (spring-boot) 编写的应用程序。当手动运行它(使用java -jar 命令)时,它工作正常,没有任何问题。 但是,当使用 docker 容器(基于 alpine 构建的 docker 映像并在 docker swarm 中使用 docker 容器)时,它不起作用,我的应用无法发送请求并出现错误“SSL 握手失败”

我在--network host docker 中检查了它并得到了相同的结果。此外,我在 java cacerts 和 alpine 中的 /etc/ssl/certs 中构建了新的 docker 映像并导入了证书文件,但它不起作用。除了手动运行我的应用程序时,我不会在主机中导入任何证书文件。

任何人都可以在这种情况下提供帮助吗?

谢谢, 哈米德

【问题讨论】:

  • 嗨哈米德,我也遇到了同样的问题,我没有检查主机属性,但我可以告诉你 api 服务可从 swagger-ui 获得,但不能从 UI 客户端获得或卷曲调用。 curl 错误: curl -k -X GET --header 'Accept: application/json' 'devappserver-api:8585/api/v1/actuator/env' curl: (35) error:140943F2:SSLroutines:ssl3_read_bytes:sslv3 警报意外消息。您是否找到任何可以提供帮助的解决方案/文档,我们将不胜感激。

标签: spring-boot docker ssl containers docker-swarm


【解决方案1】:

使用网络模式:网桥或主机来修复此 SSL 错误。

docker 覆盖网络上仍然出错:

version: '3.7'
services:
  httpstest:
    hostname: httpstest
    container_name: httpstest
    image: httpstest-service:latest
    environment:
      - TZ=Asia/Ho_Chi_Minh
    ports:
      - "8288:8080"
networks:
  default:
    name: kaio_io
    driver: bridge
#    driver: overlay
#    driver: host

【讨论】:

    猜你喜欢
    • 2014-01-14
    • 2012-06-18
    • 1970-01-01
    • 1970-01-01
    • 2017-01-20
    • 1970-01-01
    • 2021-11-24
    • 1970-01-01
    • 2015-11-05
    相关资源
    最近更新 更多