Transport Layer Security(영어: Transport Layer Security, 약어로 TLS) 및 그 전신인 Secure Sockets Layer(약어로 SSL)는 인터넷 통신 보안 및 데이터 무결성 보장을 제공하도록 설계된 보안 프로토콜입니다.
SSL에는 레코드 계층(Record Layer)과 전송 계층이 포함됩니다. 레코드 계층 프로토콜은 전송 계층 데이터의 캡슐화 형식을 결정합니다.
전송 계층 보안 프로토콜은 X.509 인증을 사용하고 비대칭 암호화 알고리즘을 사용하여 통신 당사자를 인증한 다음 대칭 키를 세션 키로 교환합니다.
이 대화 키는 두 통신 당사자가 교환하는 데이터를 암호화하여 두 애플리케이션 간 통신의 기밀성과 신뢰성을 보장함으로써 클라이언트와 서버 애플리케이션 간의 통신이 공격자에게 도청되지 않도록 하는 데 사용됩니다.
TLS/SSL을 구성하기 전에 해당 서명 인증서를 획득하고 JAVA 개발 환경을 구성해야 합니다. 아래 Java를 사용하여 인증서를 생성하고 콘솔을 열 수 있습니다. 입력:
keytool -genkey -alias michaelSpica -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore E:TempmichaelSpica.p12 -validity 3650
별칭
별칭 원하는 대로 선택됨) alias
别名(可随便取)
-storetype
指定密钥仓库类型
-keyalg
生证书的算法名称,RSA是一种非对称加密算法
-keysize
证书大小
-keystore
生成的证书文件的存储路径(相对路径或绝对路径)
-validity
storetype
키 저장소 유형을 지정합니다. keyalg
인증서의 알고리즘 이름, RSA는 비대칭 암호화 알고리즘입니다.
- keysize
인증서 크기
keystore
생성된 인증서 파일의 저장 경로(상대 경로 또는 절대 경로) -유효성 인증서의 유효 기간 <img src="https://img.php.cn/upload/article/000/465/014/168439111065922.png" alt="http 및 https 액세스를 동시에 지원하도록 SpringBoot에서 SSL을 구성하는 방법">
참고: 공식 환경에서 표준 값을 입력하세요.
2단계: 인증서 받기찾기 경로에 따라 생성된 인증서를 생성하고 그림과 같이 인증서를 프로젝트에 복사합니다.
3단계: SSL 구성 추가 그림과 같이
application.yml에 다음 구성을 추가합니다. :
4단계: https 액세스 구성
Spring Boot 시작 추가
과 같은 구성 정보를 읽을 때(참고: 필요한 jar를 추가하세요.)<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
package com.michael.protocol.config;
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;
/**
* Created by michael on 2019/2/23.
*/
@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;
}
}
위 내용은 http 및 https 액세스를 동시에 지원하도록 SpringBoot에서 SSL을 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!