> Java > java지도 시간 > http 및 https 액세스를 동시에 지원하도록 SpringBoot에서 SSL을 구성하는 방법

http 및 https 액세스를 동시에 지원하도록 SpringBoot에서 SSL을 구성하는 방법

王林
풀어 주다: 2023-05-18 14:25:06
앞으로
1100명이 탐색했습니다.

Transport Layer Security(영어: Transport Layer Security, 약어로 TLS) 및 그 전신인 Secure Sockets Layer(약어로 SSL)는 인터넷 통신 보안 및 데이터 무결성 보장을 제공하도록 설계된 보안 프로토콜입니다.

SSL에는 레코드 계층(Record Layer)과 전송 계층이 포함됩니다. 레코드 계층 프로토콜은 전송 계층 데이터의 캡슐화 형식을 결정합니다.

전송 계층 보안 프로토콜은 X.509 인증을 사용하고 비대칭 암호화 알고리즘을 사용하여 통신 당사자를 인증한 다음 대칭 키를 세션 키로 교환합니다.

이 대화 키는 두 통신 당사자가 교환하는 데이터를 암호화하여 두 애플리케이션 간 통신의 기밀성과 신뢰성을 보장함으로써 클라이언트와 서버 애플리케이션 간의 통신이 공격자에게 도청되지 않도록 하는 데 사용됩니다.

1단계: 인증서 생성

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는 비대칭 암호화 알고리즘입니다.

http 및 https 액세스를 동시에 지원하도록 SpringBoot에서 SSL을 구성하는 방법

- keysize 인증서 크기

-keystore 생성된 인증서 파일의 저장 경로(상대 경로 또는 절대 경로)

-유효성 인증서의 유효 기간 <img src="https://img.php.cn/upload/article/000/465/014/168439111065922.png" alt="http 및 https 액세스를 동시에 지원하도록 SpringBoot에서 SSL을 구성하는 방법">

은 그림에 표시됩니다.

http 및 https 액세스를 동시에 지원하도록 SpringBoot에서 SSL을 구성하는 방법 참고: 공식 환경에서 표준 값을 입력하세요.

2단계: 인증서 받기

찾기 경로에 따라 생성된 인증서를 생성하고 그림과 같이 인증서를 프로젝트에 복사합니다.

3단계: SSL 구성 추가 그림과 같이

application.yml

에 다음 구성을 추가합니다. :

http 및 https 액세스를 동시에 지원하도록 SpringBoot에서 SSL을 구성하는 방법

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;
    }
}
로그인 후 복사

Note: 이것은 spring boot 2.0입니다. . : 🎜🎜🎜🎜🎜두 개의 포트가 표시되어 성공했음을 나타냅니다. 다음 두 가지 방법으로 액세스할 수 있습니다. 🎜🎜🎜https://localhost:443🎜 🎜🎜🎜http://localhost: 80🎜🎜

위 내용은 http 및 https 액세스를 동시에 지원하도록 SpringBoot에서 SSL을 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:yisu.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿