Docker部署SpringBoot使用了SSL的项目

tech2025-11-29  3

SpringBoot使用SSL

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

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

下载证书,得到压缩包 将文件解压出来 将第一个文件移动到 项目的resource目录下 在启动类上添加 @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; } 在yml配置文件设置 server: #ssl配置 port: 443 ssl: key-store: classpath:你的SSL证书文件名称 key-store-password: 打开压缩文件包的第二个文件,获得的密码 key-store-type: PKCS12 启动项目 此时启动成功浏览器输入 https://localhost/ 即可进入自己的项目

部署到Docker上去

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

此时打包成功 3. 查看docker镜像文件 4. 使用run命令 部署到docker上去

docker run -d -p 80:80 -p 443:443 sslblog:0.1 得暴露两个端口(踩过的坑)

5. 查看容器

此时说明已经部署成功 浏览器输入 ityangstudy.cn (这是我自己的域名) 进入到你的项目 此时已经成功

<原创,转载请注明出处>

最新回复(0)