前言
之前我嫌弃tomcat(spring)项目,开启https麻烦,所以一直都是nginx代理为https。
今儿突然不想了。
在springBoot2.x的情况下,直接开启https,并兼容http方式(ws~wss)。废话不说上代码
第一步
先到运营上申请ssl证书。
一般情况下,都会提供一年免费的。
第二步
将证书复制到spring项目下
具体如: 项目>src>main>resources>dshvv.com.jks
第三步
增加tomcat配置文件TomcatConfig.java
package com.dshvv.myblogserver.utils; import org.apache.catalina.connector.Connector; import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory; import org.springframework.boot.web.servlet.server.ServletWebServerFactory; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class TomcatConfig { // 这是spring boot 2.0.X版本的 @Bean public ServletWebServerFactory servletContainer() { TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory(); tomcat.addAdditionalTomcatConnectors(createStandardConnector()); // 添加http return tomcat; } // 配置http private Connector createStandardConnector() { Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol"); connector.setPort(80); return connector; } }
配置文件 application.yml
server: port: 443 ssl: enabled: true key-store: classpath:dshvv.com.jks key-store-password: 9ijmnoID key-store-type: JKS
效果
因为80和443端口我另有它用
所以我的http我设成了 7777,https则为8888。而不是默认的80和443
这个端口号随意,大家不要在意