实现内网https 内网部署https SpringBoot
内网 部署 https springboot
最近项目中要在内网中部署https网址,之前对https完全不了解,一脸懵逼,好在在一顿疯狂必应之后,成功完成了部署。
首先需要明确的是,由于是在内网部署,所以完全不需要搞得那么复杂(宝塔啊,申请域名啊什么的)。
零、
前置条件:在本地安装好jdk和OpenSSL,并配置好两者的环境变量
一、
安装OpenSSL并配置环境的参考网址:
在最后验证是否成功安装并配置环境成功时,其实只需要在cmd中输入OpenSSL,出现以下内容即代表安装并配置成功。
二、
参考网址: 内网Https 自签Https证书 配合Tomcat 实现内网Https详细图文 : 内网Https 自签Https证书 配合Tomcat 实现内网Https详细图文 - 程序猿小码 - 博客园内网项目启用Https配置手册 软件需求: 制作前的需求: 开始制作CA根证书 在任意盘符(我这里选择G盘)下新建一个文件夹 这里我建立一个ca的文件夹用来存储生成的CA证书 创建私钥 生成私钥命令:https://www.cnblogs.com/ChromeT/p/11122480.html只需要根据上面网址的步骤,一步步跟着做到“客户端安装证书”
三、
在SpringBoot中部署https
spring boot支持https请求 - 简书https://www.jianshu.com/p/71cd01fa8438
我所做的项目只需要跟着做完“二.生成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;
}
}
更多推荐
所有评论(0)