首页 文章

使用Docker Containerized Spring Boot App的HTTPS无效

提问于
浏览
0

以下是我添加到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 app,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

1 回答

  • 0

    为了使其能够在Docker上运行,您需要:

    • 使用有效端口启动服务器(有效,我的意思是443或其他非保留端口,例如8443) . 如您所知,这是通过在 application.yml 文件中设置 server.port 属性来完成的

    • 公开 docker-compose.yml 文件中的服务器端口 . 请记住,语法是 host:container ,因此假设您在端口 443 上配置了Spring Boot应用程序,并希望将其暴露给主机上的端口 8443 ,您的端口配置将如下所示: 8443:443

    另外,我在你的 docker-compose.yml 文件中同时使用 imagebuild 似乎很奇怪 .

相关问题