웹사이트 검색

Linux에서 Caddy를 사용하여 HTTPS로 웹사이트를 호스팅하는 방법


웹 서버는 클라이언트와 서버 간의 HTTP 요청을 처리하도록 설계된 서버측 애플리케이션입니다. HTTP는 기본적이고 매우 널리 사용되는 네트워크 프로토콜입니다.

Apache HTTP Server는 오늘날의 웹을 설계하는 데 중요한 역할을 했습니다. 단독으로 37.3%의 시장 점유율을 차지하고 있습니다. Nginx32.4%의 시장 점유율로 2위를 차지했습니다. Microsoft IISLiteSpeed는 각각 7.8%6.9%의 시장 점유율로 3위와 4위를 차지했습니다.

최근에 Caddy라는 웹 서버를 발견했습니다. 그 기능에 대해 문의해보고 테스트에 배포해 봤을 때 정말 놀랍다고 말해야겠습니다. 이식 가능하고 구성 파일이 필요하지 않은 웹 서버입니다. 저는 이것이 매우 멋진 프로젝트라고 생각했고 여러분과 공유하고 싶었습니다. 여기서 우리는 캐디를 시험해 보았습니다!

캐디란?

캐디는 구성과 사용이 쉬운 Apache 웹 서버의 대안입니다. Matthew Holt – Caddy의 프로젝트 리더는 Caddy가 범용 웹 서버이며 인간을 위해 설계되었다고 주장하며 아마도 이러한 종류의 유일한 것일 것입니다.

CaddyLet's Encrypt를 사용하여 자동으로 SSL/TLS 인증서를 획득하고 갱신할 수 있는 유일한 최초의 웹 서버입니다.

캐디의 특징

  1. HTTP/2를 사용하여 빠른 HTTP 요청.
  2. 구성이 최소화되고 배포가 번거롭지 않은 유능한 웹 서버입니다.
  3. TLS 암호화는 인터넷을 통해 통신하는 애플리케이션과 사용자 간의 암호화를 보장합니다. 자신의 키와 인증서를 사용할 수 있습니다.
  4. 배포/사용이 쉽습니다. 단 하나의 단일 파일이며 어떤 플랫폼에도 종속되지 않습니다.
  5. 설치가 필요하지 않습니다.
  6. 휴대용 실행 파일.
  7. 여러 CPU/코어에서 실행됩니다.
  8. 고급 WebSockets 기술 – 브라우저와 서버 간의 대화형 통신 세션입니다.
  9. 즉석에서 서버 마크다운 문서를 제공합니다.
  10. 최신 IPv6를 완벽하게 지원합니다.
  11. 사용자 정의 형식으로 로그를 생성합니다.
  12. FastCGI, 역방향 프록시, 재작성 및 리디렉션, URL 정리, Gzip 압축, 디렉토리 검색, 가상 호스트 및 헤더를 제공합니다.
  13. Windows, Linux, BSD, Mac, Android 등 알려진 모든 플랫폼에서 사용할 수 있습니다.

캐디가 다른 이유는 무엇입니까?

  1. 캐디는 전통적인 스타일이 아닌 2020년에도 웹 서비스를 제공하는 것을 목표로 하고 있습니다.
  2. 이는 HTTP 요청뿐만 아니라 인간에게도 서비스하도록 설계되었습니다.
  3. 최신 기능(HTTP/2, IPv6, Markdown, WebSockets, FastCGI, 템플릿 및 기타 기본 기능)이 탑재되어 있습니다.
  4. 설치할 필요 없이 실행 파일을 실행합니다.
  5. 기술적인 설명이 최소한으로 포함된 자세한 문서입니다.
  6. 디자이너, 개발자, 블로거의 필요성과 편의성을 염두에 두고 개발되었습니다.
  7. 가상 호스트 지원 – 원하는 만큼 사이트를 정의하세요.
  8. 귀하의 사이트가 정적이든 동적이든 관계없이 귀하에게 적합합니다. 당신이 인간이라면 그것은 당신을 위한 것입니다.
  9. 달성 방법이 아니라 무엇을 달성할지에 초점을 맞춥니다.
  10. Windows, Linux, Mac, Android, BSD 등 대부분의 플랫폼을 지원합니다.
  11. 일반적으로 사이트당 하나의 Caddy 파일이 있습니다.
  12. 컴퓨터에 익숙하지 않더라도 1분 안에 설정이 가능합니다.
테스트 환경

CentOS 서버와 Debian 서버에서 테스트할 예정이지만 동일한 지침이 RHELDebian에서도 작동합니다. 기반 배포. 두 서버 모두에 대해 64비트 실행 파일을 사용하겠습니다.

Operating Systems: CentOS 8 and Debian 10 Buster
Caddy Version: v2.0.0

Linux에 Caddy 웹 서버 설치

사용 중인 플랫폼과 아키텍처 종류에 관계없이 캐디는 표시된 대로 기본 패키지 관리자를 사용하여 설치할 수 있는 즉시 사용할 수 있는 바이너리 패키지를 제공합니다.

Fedora, RedHat, CentOS에 캐디 설치

Fedora 또는 RHEL/CentOS 8 아래 CORP 저장소에서 최신 버전의 Caddy 웹 서버를 설치합니다.

dnf install 'dnf-command(copr)'
dnf copr enable @caddy/caddy
dnf install caddy

RHEL/CentOS 7에서는 다음 명령을 사용합니다.

yum install yum-plugin-copr
yum copr enable @caddy/caddy
yum install caddy

Debian 및 Ubuntu에 Caddy 설치

echo "deb [trusted=yes] https://apt.fury.io/caddy/ /" \
    | sudo tee -a /etc/apt/sources.list.d/caddy-fury.list
sudo apt update
sudo apt install caddy

캐디 웹 서버가 설치되면 다음 systemctl 명령을 사용하여 서비스를 시작, 활성화 및 확인할 수 있습니다.

systemctl start caddy
systemctl enable caddy
systemctl status caddy

이제 브라우저를 열고 다음 주소로 브라우저를 지정하면 캐디 환영 페이지를 볼 수 있습니다.

http://Server-IP
OR
http://yourdomain.com

Caddy를 사용하여 도메인 설정

도메인을 설정하려면 먼저 DNS 제어판에서 도메인의 A/AAAA DNS 레코드가 이 서버를 가리키도록 해야 합니다. 다음으로, 표시된 대로 폴더 /var/www/html 아래에 웹 사이트 "example.com"에 대한 문서 루트 디렉터리를 만듭니다.

mkdir /var/www/html/example.com

SELinux를 사용하는 경우 웹 콘텐츠에 대한 파일 보안 컨텍스트를 변경해야 합니다.

chcon -t httpd_sys_content_t /var/www/html/example.com -R
chcon -t httpd_sys_rw_content_t /var/www/html/example.com -R

이제 /etc/caddy/Caddyfile에서 캐디 구성 파일을 열고 편집하세요.

vim /etc/caddy/Caddyfile

:80를 도메인 이름으로 바꾸고 사이트 루트를 표시된 대로 /var/www/html/example.com으로 변경합니다.

구성 변경 사항을 저장하려면 Caddy 서비스를 다시 로드하세요.

systemctl reload caddy

이제 HTML 페이지를 만들고(직접 만들 수도 있음) 웹 사이트의 문서 루트 디렉터리에 페이지를 저장합니다.

touch /var/www/html/example.com/index.html

웹사이트의 색인 페이지에 다음 샘플 HTML 코드를 추가하세요.

echo '<!doctype html><head><title>Caddy Test Page at TecMint</title></head><body><h1>Hello, World!</h1></body></html>' | sudo tee /var/www/html/index.html

이제 사이트를 다시 방문하여 페이지를 확인하세요.

모든 것이 올바르게 구성되면 연결이 안전하다는 것을 나타내는 HTTPS 프로토콜을 통해 도메인이 제공됩니다.

결론

초보자이고 구성에 손을 대지 않고 웹 서버를 설정하고 싶다면 이 도구가 적합합니다. 즉각적이고 간단한 웹 서버가 필요한 숙련된 사용자라도 Caddy를 사용해 볼 가치가 있습니다. 더 복잡하고 고급 웹 서버를 설정해야 하는 경우 약간의 구성만으로 폴더 권한, 제어 인증, 오류 페이지, Gzip, HTTP 리디렉션 등을 설정할 수도 있습니다.

Caddy를 Apache 또는 Nginx의 대체품으로 사용하지 마십시오. 캐디는 트래픽이 많은 프로덕션 환경을 처리하도록 설계되지 않았습니다. 속도와 안정성이 중요한 경우 빠른 웹 서버 설정을 위해 설계되었습니다.

참고자료

전체 사용자 가이드/캐디 웹 서버 전체 문서

우리는 필요할 때마다 이미지와 함께 빠른 검토 및 설치 지침을 제공하기 위해 이 문서를 가져왔습니다. 프로젝트의 장단점이나 제안 사항을 발견한 경우 댓글 섹션을 통해 알려주시기 바랍니다.

나에게 있어서 이 프로젝트는 너무 초기 단계이므로 여전히 완벽하게 작동하고 강력하고 유망해 보입니다. 제가 생각하는 가장 큰 장점은 캐디가 구성 파일을 어디든 가지고 다닐 필요가 없다는 것입니다. Nginx, Lighttpd, vagrant 및 Websocketd 중 최고의 기능을 제공하는 것을 목표로 합니다. 그게 다 내 편이야. Tecmint에 계속 연결하세요. 명성