Skip to content

Certbot Nginx를 이용한 HTTPS 적용

HyeonjaeKwon edited this page Aug 3, 2023 · 1 revision

Certbot 설치

# 패키지 최신화
sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y

# snapd 패키지 관리자 설치
sudo apt install snapd
# snapd를 통해 certbot 설치
sudo snap install --classic certbot
# certbot을 사용자 프로그램을 등록
sudo ln -s /snap/bin/certbot /usr/bin/certbot

NGINX를 통한 https 적용

# 패키지 최신화
sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y

# nginx 설치
sudo apt install nginx -y
# kerdy.kro.kr 도메인 설정 파일 생성
sudo nano /etc/nginx/sites-available/kerdy.kro.kr
# 설정 추가
server {
        listen 80;
        server_name kerdy.kro.kr;

        location / {
                proxy_pass http://localhost:8080;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
        }
}

# 변경 내용 테스트
$ sudo nginx -t 
# success 확인 후
$ sudo nginx -s reload # 변경 사항 반영

# certbot을 사용한 https 적용
sudo certbot --nginx

(부록) Nginx를 이용하여 정적 페이지 반환하기

$ sudo nano /usr/share/nginx/html/privacy.html
# 내용 작성 및 저장

$ sudo nano /etc/nginx/site-available/kerdy.kro.kr
server {
        ...

        # 정적 파일 반환을 위해 이 내용 추가
        location /privacy {
                rewrite ^ /privacy.html break;
                charset utf-8;
        }

    listen 443 ssl; # managed by Certbot
    ...
}

$ sudo nginx -t # 변경 내용 테스트

# success 확인 후
$ sudo nginx -s reload # 변경 사항 반영