原创

Docker部署SpringBoot使用了SSL的项目


SpringBoot使用SSL

  1. 首先到阿里云申请一个免费的SSL证书

    前往 阿里云SSL证书购买页面先选择 单个域名 > DV域名级SSL > 免费版 > DigiCert,如果不按照此提示选择可能无法找到免费证书。

  2. 下载证书,得到压缩包

  3. 将文件解压出来 将第一个文件移动到 项目的resource目录下

  4. 在启动类上添加

@Bean
    public ServletWebServerFactory servletContainer() {

        TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() {

            @Override
            protected void postProcessContext(Context context) {

                SecurityConstraint securityConstraint = new SecurityConstraint();
                securityConstraint.setUserConstraint("CONFIDENTIAL");
                SecurityCollection collection = new SecurityCollection();
                collection.addPattern("/*");
                securityConstraint.addCollection(collection);
                context.addConstraint(securityConstraint);
            }
        };
        tomcat.addAdditionalTomcatConnectors(initiateHttpConnector());
        return tomcat;
    }
    @Bean
    public Connector initiateHttpConnector() {
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
        connector.setScheme("http");
        connector.setPort(80); // http端口
        connector.setSecure(false);
        connector.setRedirectPort(443); // application.properties中配置的https端口
        return connector;
    }
  1. 在yml配置文件设置
server:
  #ssl配置
  port: 443
  ssl:
    key-store: classpath:你的SSL证书文件名称
    key-store-password: 打开压缩文件包的第二个文件,获得的密码
    key-store-type: PKCS12
  1. 启动项目

    在这里插入图片描述 此时启动成功

  2. 浏览器输入 https://localhost/ 即可进入自己的项目

部署到Docker上去

  1. 编写DockerFile文件
FROM java:8
ADD myblog-0.0.1-SNAPSHOT.jar /blog.jar   你的项目打包成jar的名称
MAINTAINER yongzheng					  作者信息
EXPOSE 443								  暴露443端口
ENTRYPOINT ["java","-jar","/blog.jar"]
12345
  1. 使用Xftp软件,将jar包和DockerFile文件移动到/home/test下

    在这里插入图片描述

  2. 命令行 输入

docker build -f Dockerfile -t sslblog:0.1 .

在这里插入图片描述 此时打包成功

  1. 查看docker镜像文件

    在这里插入图片描述

  2. 使用run命令 部署到docker上去

    在这里插入图片描述

  3. 查看容器

    在这里插入图片描述 此时说明已经部署成功

    浏览器输入 https://ityangstudy.cn (这是我自己的域名)

    进入到你的项目

    在这里插入图片描述 此时已经成功

springboot
docker

评论