본문 바로가기
프로그래밍/Spring

[SSL] certbot SSL Invalid response 오류

by 커피코더 2024. 6. 26.
반응형

스프링부트로 만든 웹사이트에 https를 적용 하기 위해 무료 SSL 인증서를 제공 받기 위해 Let's Encrypt 기관에서 발급 하는 무료 인증서를 사용하기로 하였다.

certbot 프로그램을 이용해서 인증서를 발급받을려는데 계속 invalid response 오류가 나서 원인을 몰라 한참 시간을 보낸것을 기록 하고자 이 글을 작성한다.

 

 

위의 원인은 인증을 하기 위해 해당 경로의 파일을 찾았으나 없어서 404 에러가 나오는것이었다.

 

따라서 해당 경로에 파일 생성 및 관련 Key 값을 넣어주니 인증서를 발급 받을 수 있었다.

 

나의 경우 SpringBoot를 jar로 만들어서 배포를 하고 있기에  /.well-known/acme-challenge 경로의 임의의 파일로 들어오게 되면 별도의 서버 경로에서 읽을 수 있도록 하였다.

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
    @Override
    public void  addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/.well-known/acme-challenge/**") // --1
                .addResourceLocations("file:///home/ubuntu/https/certbot/"); //--2
    }

}

 

 

위의 클래스를 만든 후 다시 배포 한 후 아래처럼 sudo certbot certonly --manual 명령어로 단계별로 실행 하면서 별도로 만든 home/ubuntu/https/certbot/ 경로에 certbot에서 읽을 임의의 파일및 키값을 만들어 주었다.

 

1. URL 경로에 맞는 파일을 생성한 후

2. Create a file containing just this data: 아래에 있는 key값을 생성한 파일에 작성해 준다.

3. 파일 생성 및 key 값을 작성한 후 Enter 키를 치면 된다.

 

반응형

'프로그래밍 > Spring' 카테고리의 다른 글

Spring json response Test  (0) 2018.04.15
Spring Mybatis CRUD Test  (0) 2018.03.19
Spring Maven을 이용한 Mybatis 설정 및 Mysql 연동  (0) 2018.03.09
Spring Controller  (0) 2018.02.25
Spring 프로젝트 생성  (0) 2018.02.22

댓글