리눅스

caddy를 활용하여 간단히 웹서버에 HTTPS를 붙여보자

엔지니어-여리 2023. 2. 24. 12:00
반응형



웹서비스를 구축하다보면, HTTPS를 제공해야하는 일이 종종 있다.
HTTPS를 제공하기 위해서는 SSL 암호화 방식을 적용해야 합니다. 이 때 SSL 인증서라는 걸 준비해야한다.

SSL 인증서는 물론, 무료로 제공해주는 기관의 인증서를 사용할 수도 있다. 하지만 문제가 발생했을 때 책임과 배상이라는 문제가 추가로 발생할 수 있다.
하지만, 유료 인증서를 나중에 붙이거나 서비스 출시가 긴급한 경우엔 다음과 같은 방법을 사용할 수 있다.

이번에는, Caddy를 활용하여, 정말 간단하게 HTTPS를 붙일 수 있는 방법을 소개하고자 한다.

# 운영 환경
먼저, 어떤 환경에서 Caddy를 운영할 지에 대해 정의하고자 한다.

- Host머신의 OS는 Ubuntu기준으로 한다. 참조링크를 확인하면 다른 OS에서의 설치 가이드를 추가로 확인할 수 있다.
- Caddy 어플리케이션은 systemd에서 운영하고자 한다.

참조링크: https://caddyserver.com/docs/install#install


#  Caddy 설치하기

아래 명령어를 입력하면, Ubuntu 환경에서 Caddy를 구축할 수 있다.

# caddy installation 

sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy


# Caddy systemd configure

- Caddy systemd를 통해 service를 실행하도록 한다.
- 부팅시 자동으로 실행되는 설정을 추가한다.

sudo systemctl start caddy
sudo systemctl enable caddy


# Caddyfile 설정

마지막으로, 아래 Caddyfile를 수정하여 caddy 설정을 변경해준다.

# /etc/caddy/Caddyfile
https://your-domain.com {
  reverse_proxy localhost:8080
}


# Caddy 설정 적용

- caddy를 재시작 해준다.

sudo systemctl restart caddy



# Trouble shooting



반응형

'리눅스' 카테고리의 다른 글

sudo(super user do) 사용법  (0) 2023.10.03
부하 테스트 - CPU 부하 테스트하기 (stress)  (0) 2023.09.06
SSH에 OTP 적용하기 (MFA)  (0) 2023.09.05