Caddy

Caddy

Caddy는 리버스 프록시 기능을 내장하고 있는 웹 서버로, 인증서 등록 및 설치를 자동으로 해주기 때문에 굉장히 편하게 HTTPS 웹 서버를 운영할 수 있습니다. 또한 Caddyfile이라는 간단한 문법의 설정 파일을 통해 웹 서버를 설정하도록 하고 있습니다. 외부에서 들어오는 요청을 80(http)번 포트 또는 443(https)번 포트로 들어오게 되는데 80번 포트로 들어온 요청은 443번 포트로 리다이렉트 해줍니다. 하나의 서버를 사용하는데 여러 노드서버가 있다면 내부 포트를 다르게 하여 Caddy를 실행해주면 서버비용을 줄일 수 있습니다.

Caddy 설치 및 설정방법

1
curl https://getcaddy.com | bash -s personal

위 코드를 서버에서 실행하여 Caddy를 설치합니다. 개인 포트폴리오 용으로 설치하시는 분들은 꼭 뒤에 personal을 붙여야합니다.

personal을 붙이지 않는다면 위 사진과 같이 라이센스를 설정하라는 에러가 뜨면서 설치가 되지 않습니다.

위 사진과 같이 성공했다는 메세지가 나타나야 Caddy설치가 완료된 것입니다.
CaddyCaddyfile이라는 파일을 통해 Caddy를 설정해줍니다. 설정시 transparent를 꼭 사용해야 합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# https://example.com URI로 들어온 요청을 http://localhost:3000 서버에 연결시킴
# http://example.com 쪽으로 들어온 요청은 https로 리다이렉트
example.com {
proxy / localhost:3000 {
# 리버스 프록시에 요청이 어떤 형태(IP, 프로토콜)로 왔는지를
# 뒤쪽 서버에 별도의 헤더를 통해 전달
transparent
}
}

chat.example.com {
proxy / localhost:4000 {
transparent
# 웹소켓 요청도 전달하기
websocket
}
}

위 파일과 같이 설정파일을 작성합니다.

1
nohup caddy &

위 코드를 실행하면 터미널을 나가도 웹주소는 실행이 됩니다.

공유하기