10년짜리 만료일 긴 SSL 사설인증서 만들어 NGINX 에 설정하기

제공

로컬에서 개발 테스트를 위해 사설인증서를 만들 필요가 생겨서 만들어 봅니다. Ubuntu Linux 22.04 (64bit) 기준으로 설명합니다.

# openssl req -x509 -batch -nodes -newkey rsa:2048 -keyout 비밀키파일명.key -out 인증서파일명.cert -subj /CN=도메인이름 -days 3650
...+...+..+...+......+...+.+..+.......+.....+.+.....+.+........+......+......+.........+.+........+...+...+....+...+.........+...........+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*...+..+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*...+...+......+.+...........+.......+..+......+....+...............+......+..+.+.........+..+.+...+..............+.+.....+......+.+..+................+..+...+......+....+..+....+.........+......+...........+.......+..+...+.+......+.....+.+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
.+.+......+...+..+....+...+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*.....+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*...+.+.....+...+.........+.+.........+.....+.+.....+.+...+............+......+...+......+.....+...+......+.+...........+..........+...+............+.................+.......+...+...+..+.......+...+...+...+.....+.......+...+............+..+............+.+...............+...+..+....+...+...........+...................+.....+......+......+......+.......+.................+....+..+...+....+..+....+...........+.........+.........+.+............+..+.+.....+.+...............+...+.....................+..+...+.........+.+..+.........+......+.......+.....+.+.....+.+........+.+......+.....+......+...............+.......+...........+....+..+...+...+.........+...+.......+...+........+....+.....+................+............+.....+.......+......+...+..+...+.....................+....+......+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-----

도메인이름에 doogle.link 같이 정확히 https 로 호출할 도메인을 적으면 됩니다.

생성된 인증서를 확인해 보겠습니다.

# openssl x509 -in 인증서파일명.cert -noout -dates
notBefore=Apr 19 01:22:54 2024 GMT
notAfter=Apr 17 01:22:54 2034 GMT

SSL 인증서와 비밀키를 설치합니다. (여기서부터는 root 권한이 있어야 합니다.)

# sudo mv 인증서파일명.cert /etc/ssl/certs/
# sudo mv 비밀키파일명.key /etc/ssl/private/

이제 Nginx 서버에 SSL 인증서를 설치해 보겠습니다.

server {
    server_name 도메인이름;

    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    ssl_certificate "/etc/ssl/certs/인증서파일명.cert"; 
    ssl_certificate_key "/etc/ssl/private/비밀키파일명.key";

    # ... 기타 설정 생략 ...
}

Nginx 설정을 저장하고 서버를 리로드 혹은 재시작합니다.

# sudo systemctl reload nginx

참고