实现内网https 内网部署https SpringBoot
最近项目中要在内网中部署https网址,之前对https完全不了解,一脸懵逼,好在在一顿疯狂必应之后,成功完成了部署。
首先需要明确的是,由于是在内网部署,所以完全不需要搞得那么复杂(宝塔啊,申请域名啊什么的)。
零、
前置条件:在本地安装好jdk和OpenSSL,并配置好两者的环境变量
一、
安装OpenSSL并配置环境的参考网址:
仅需要看第二部分“Openssl环境安装(文末有安装包)”即可。
在最后验证是否成功安装并配置环境成功时,其实只需要在cmd中输入OpenSSL,出现以下内容即代表安装并配置成功。
二、
参考网址: 内网Https 自签Https证书 配合Tomcat 实现内网Https详细图文 : 只需要根据上面网址的步骤,一步步跟着做到“客户端安装证书”
三、
在SpringBoot中部署https
我所做的项目只需要跟着做完“二.生成ssl证书”。
四、
因为本项目要求多数为http地址,仅少数地址需要为https,所有特地声明了两个端口号,一个用作http,一个用作https。
配置文件内容如下:
server: port: 8443 #注意,这里是https访问的的端口号 http: port: 8080 ssl: key-store: classpath:keystore.p12 key-store-password: 123456 key-alias: tomcat key-store-type: PKCS12
为了使http生效,需要在项目中加入以下配置类
import org.apache.catalina.connector.Connector; import org.springframework.beans.factory.annotation.Value; 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 { @Value("${server.http.port}") private int httpPort; @Bean public ServletWebServerFactory servletContainer() { TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory(); tomcat.addAdditionalTomcatConnectors(createStandardConnector()); // 添加http return tomcat; } private Connector createStandardConnector() { Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol"); connector.setPort(httpPort); return connector; } }
下一篇:
太嚣张了!这些会Python的人!