OkayStudy
KO English 한국어 日本語 中文 हिन्दी বাংলা اردو Español Português Français Deutsch Русский العربية Bahasa Indonesia Tiếng Việt ไทย Türkçe

알림을 켜는 방법

이 브라우저 또는 주소에서는 알림을 사용할 수 없습니다. 지원되는 브라우저로 보안 연결된 SONUB 사이트에 접속해 주세요.

알림이 차단되어 있으면 브라우저 설정에서 허용해 주세요.

  1. 주소 표시줄 옆의 사이트 설정 또는 브라우저의 사이트 설정을 열고, 이 사이트의 알림을 허용으로 바꾸세요.
  2. 기기 설정에서 브라우저 알림을 허용하고 방해 금지 또는 집중 모드를 확인하세요.
  3. SONUB으로 돌아와 페이지를 새로고침한 뒤 벨을 눌러 알림을 켜세요.

iPhone 또는 iPad에서는 SONUB을 홈 화면에 추가하고 거기에서 연 뒤 알림을 허용하세요.

바이브코딩 전체 보기

웹서버

가 말을 걸어 주는 스크립트 20줄.

웹서버는 요청을 기다렸다가 응답을 보내는 프로그램일 뿐이에요. bash 와 netcat 으로 20줄 서버를 만들어 한 줄씩 읽은 뒤, HTTPS 를 갖춘 Caddy 로 넘어가세요.

작은 창구 뒤의 점원이 요청 쪽지를 든 손님들(노트북·휴대폰·작은 로봇)의 줄에 귀를 기울이고, 창구 위에는 돌고 도는 화살표가 있다.
는 창구의 점원입니다: 기다리고, 요청을 읽고, 페이지를 건네주고, 다시 기다립니다.

Caddy — 읽을 수 있는 채로 남은 진짜 웹서버

는 하나로 된 현대적인 웹서버입니다. 쉘 예제 바로 다음에 배울 값어치가 있는 이유는, 읽을 수 있는 몇 줄이면 돌아간다는 느낌을 그대로 유지하면서 쉘 판이 못 하던 일(여러 사람 ··)을 해결하기 때문입니다.

가장 내세우는 기능은 입니다. 진짜 이름만 주면 를 받아 오고, 설치하고, 만료 전에 갱신하고, http 손님을 https 로 넘겨 줍니다. 다른 서버에서는 몇 달마다 되풀이하는 잡일입니다.

설치하기

install
# macOS
brew install caddy

# Ubuntu / Debian — add Caddy's own package list first (official steps)
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
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

# with Docker (covered in the Docker tab): serve this folder on port 8080
docker run -p 8080:80 -v "$PWD":/usr/share/caddy caddy:2

명령 한 줄로 폴더 내놓기

이 필요 없습니다. 이 있는 폴더로 가서 한 줄만 치면 됩니다 — 같은 의 누군가에게 페이지를 보여 주는 가장 빠른 방법입니다.

terminal
# serve this folder's index.html on port 8080
caddy file-server --listen :8080

# add a directory listing for folders without an index.html
caddy file-server --listen :8080 --browse

Caddyfile

오래 둘 것이라면 을 씁니다. 그냥 이고, 사이트 하나가 네 줄로 끝납니다.

Caddyfile
example.com {
	root * /var/www/html
	file_server
	encode gzip zstd
}
  1. example.com {사이트 주소입니다. 여기에 진짜 도메인을 적으면 Caddy 가 HTTPS 인증서를 알아서 마련합니다. 를 적어도 Caddy 는 스스로 만든 인증서로 HTTPS 를 씁니다. 맨 http 만 원하면 http://localhost 나 :80 처럼 적습니다.
  2. root * /var/www/html파일이 의 어디에 있는지입니다. 별표는 이 사이트의 모든 경로에 적용한다는 뜻입니다.
  3. file_server그 파일들을 실제로 내놓으라는 줄입니다. 이 줄이 없으면 Caddy 는 에 아무것도 주지 않습니다.
  4. encode gzip zstd보내기 전에 을 합니다. 한 낱말인데, 느린 회선에서 페이지가 눈에 띄게 빨리 도착합니다.
그 인증서에 대하여

Caddy 는 에 무료 인증서를 요청합니다. 그러려면 도메인의 가 내 기계를 가리켜야 하고, 바깥에서 80 · 443 포트에 닿을 수 있어야 합니다. 앞에 다른 가 있어 그 포트를 대신 받으면, 확인이 실패해 인증서가 오지 않습니다. 처음 Caddy 를 세울 때 가 초록색이 되지 않는 가장 흔한 이유입니다.

리버스 프록시 — 요청을 넘겨주기

대부분의 사이트는 디스크의 파일이 아니라 어느 에서 귀를 기울이는 응용 입니다. 는 바깥의 요청을 받아 그 프로그램에 건네고 답을 되돌려 주는 서버입니다. 한 줄이면 됩니다.

Caddyfile
example.com {
	reverse_proxy 127.0.0.1:8080
}

files.example.com {
	root * /srv/files
	file_server browse
}

기계 한 대가 여러 사이트를 품는 방법도 이것입니다. 443 포트는 한 프로그램만 가질 수 있으므로 Caddy 가 그것을 쥐고, 손님이 어느 도메인을 찾았는지 읽어 각각 다른 프로그램으로 넘깁니다.

알아야 할 명령들

명령하는 일
caddy run앞에서 실행하며 기록을 에 뿌립니다. 설정을 아직 맞춰 가는 동안 원하는 것이 이쪽입니다.
caddy start뒤로 보내고 프롬프트를 돌려줍니다. 잠깐 보여 줄 때는 괜찮지만, 제대로 된 서버는 로 띄웁니다.
caddy reload연결을 하나도 끊지 않고 바뀐 설정을 다시 읽습니다. Caddyfile 을 고쳤다고 재시작할 필요가 없습니다.
caddy fmt --overwrite파일 서식을 표준 모양으로 바로잡습니다. Caddyfile 은 들여쓰기가 달라도 동작하지만, 서식이 어긋나면 Caddy 가 경고를 냅니다.
caddy validate아무것도 띄우지 않고 설정에 잘못이 있는지 검사합니다. 돌고 있는 서버를 하기 전에 먼저 돌립니다.
이 사이트가 정확히 그렇게 돕니다

SONUB 서버에서는 앞단 Caddy 하나가 80 · 443 포트를 쥐고 도메인 이름으로 길을 가릅니다. 본 사이트는 앱 로, 내려받기 은 파일을 내놓는 작은 Caddy 컨테이너로 넘깁니다. 위 예처럼 사이트마다 블록 하나를 더하면 되고, 포트를 두고 다투는 두 번째 프로그램도 없습니다.

스스로 표시하는 칸이에요. 여기서 채점하지는 않아요.

이 단계를 이해한 것으로 표시할까요?

아직 취소할 수 없으니, 정말 이해했을 때만 표시해 주세요.

이해한 것으로 표시했어요

스스로 표시하는 칸이에요. 여기서 채점하지는 않아요.

취소할 대기 예약을 선택하세요. 각 예약은 확인 후 취소됩니다.

내 :

닫기