gpt4 book ai didi

docker - 带有 Docker 容器化 Spring Boot 应用程序的 HTTPS 无法正常工作

转载 作者:行者123 更新时间:2023-12-02 19:38:49 25 4
gpt4 key购买 nike

以下是我添加到 application.properties 文件以启用 HTTPS 的条目:

server.port: 80
server.ssl.key-store: classpath:keystore.p12
server.ssl.key-store-password: password
server.ssl.keyStoreType: PKCS12
server.ssl.keyAlias: tomcat

当我启动 docker 容器时,无法使用 HTTPS 访问 url。但是,如果我对以上几行进行评论,则可以访问 http。这是应用程序作为 docker 镜像运行的时候。

如果我在我的本地机器上运行 spring boot 应用程序,https 正在运行。不确定哪里出了问题或遗漏了什么。

有关信息,我正在使用以下 Docker 组合文件:

ms1:
image: aa/ms1:localubuntu
mem_limit: 512
environment:
SPRING_PROFILES_ACTIVE: docker-development-cloud
JAVA_OPTS: -Xms256m -Xmx512m
build:
context: ../../
dockerfile: ms1/src/main/dockerBuildRelease/Dockerfile
ports:
- "443:443"
restart: always
networks:
- cloud

最佳答案

为了让它在 Docker 上运行,您需要:

  • 使用有效端口启动您的服务器(所谓有效,我指的是 443 或其他非保留端口,例如 8443)。如您所知,这是通过在 application.yml 文件中设置 server.port 属性来完成的
  • 在您的 docker-compose.yml 文件中公开服务器端口。请记住,语法是 host:container,因此假设您在端口 443 上配置了 Spring Boot 应用程序,并希望将其公开到端口 8443 在主机上,您的端口配置将如下所示:8443:443

此外,您在 docker-compose.yml 文件中同时使用 imagebuild 对我来说似乎很奇怪。

关于docker - 带有 Docker 容器化 Spring Boot 应用程序的 HTTPS 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41032012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com