본문 바로가기

리눅스

[리눅스] Let's Encrypt(certbot) SSL 인증서 발급 방식

728x90

Let's Encrypt(certbot) SSL 인증서 발급 방식

Standalone 모드로 인증서 발급하기

"독립 실행형" 웹 서버를 사용하여 인증서를 가져옵니다.
포트 80을 사용할 수 있어야 합니다. 이 기능은 웹 서버가 없거나 로컬 웹 서버와의 직접 통합이 지원되지 않거나 원하지 않을 때 유용합니다.

- 80(HTTP) 또는 443(HTTPS) 포트 오픈되어 있어야함(방화벽 정책 오픈)

- 80(HTTP) 또는 443(HTTPS)을 사용(기존 웹 서버 중단)

- 도메인이 자신의 서버에 연결되어 있어야함(A 레코드 설정)

certbot certonly --standalone -d [도메인명1] -d [도메인명2]
certbot certonly --standalone -d www.sangchul.kr

 

webroot 모드로 인증서 발급하기

이미 실행 중인 웹 서버의 웹 루트 디렉터리에 기록하여 인증서를 가져옵니다.

- 웹 서버 중단없이 발급

- 웹서버에 사전 세팅이 필요

- 자동 갱신 가능

- letsencrypt 폴더가 인증에 사용됨(/var/www/letsencrypt/.well-known/acme-challenge)

certbot certonly --webroot -w [접근 가능 경로] -d [도메인명1]
certbot certonly --webroot --agree-tos --no-eff-email --email webadmin@sangchul.kr --webroot-path=/var/www/letsencrypt -d www.sangchul.kr

 

manual 모드로 인증서 발급하기

수동으로 지침에 따라 인증서를 가져와 도메인 검증을 직접 수행합니다. 이렇게 생성된 인증서는 자동 새로 만들기를 지원하지 않습니다.
도메인 유효성 검사 단계를 자동화하는 인증 후크 스크립트를 제공하여 자동 새로 만들기를 사용하도록 설정할 수 있습니다.

- TXT 레코드 설정

certbot certonly --manual --preferred-challenges dns -d [도메인명1]
certbot certonly --manual --preferred-challenges dns --verbose --debug-challenge --staging -d www.sangchul.kr

 

apache 모드로 인증서 발급하기

 Apache를 사용하여 인증서 획득 및 설치를 자동화합니다.

certbot --apache

 

nginx 모드로 인증서 발급하기

Nginx로 인증서를 가져오고 설치하는 것을 자동화합니다.

certbot --nginx

 

certbot 사용 방법

certbot [SUBCOMMAND] [options] [-d DOMAIN] [-d DOMAIN] ...

$ docker run -it --rm certbot/certbot --help

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

  certbot [SUBCOMMAND] [options] [-d DOMAIN] [-d DOMAIN] ...

Certbot can obtain and install HTTPS/TLS/SSL certificates.  By default,
it will attempt to use a webserver both for obtaining and installing the
certificate. The most common SUBCOMMANDS and flags are:

obtain, install, and renew certificates:
    (default) run   Obtain & install a certificate in your current webserver
    certonly        Obtain or renew a certificate, but do not install it
    renew           Renew all previously obtained certificates that are near
expiry
    enhance         Add security enhancements to your existing configuration
   -d DOMAINS       Comma-separated list of domains to obtain a certificate for

  (the certbot apache plugin is not installed)
  --standalone      Run a standalone webserver for authentication
  (the certbot nginx plugin is not installed)
  --webroot         Place files in a server's webroot folder for authentication
  --manual          Obtain certificates interactively, or using shell script
hooks

   -n               Run non-interactively
  --test-cert       Obtain a test certificate from a staging server
  --dry-run         Test "renew" or "certonly" without saving any certificates
to disk

manage certificates:
    certificates    Display information about certificates you have from Certbot
    revoke          Revoke a certificate (supply --cert-name or --cert-path)
    delete          Delete a certificate (supply --cert-name)

manage your account:
    register        Create an ACME account
    unregister      Deactivate an ACME account
    update_account  Update an ACME account
  --agree-tos       Agree to the ACME server's Subscriber Agreement
   -m EMAIL         Email address for important account notifications

More detailed help:

  -h, --help [TOPIC]    print this message, or detailed help on a topic;
                        the available TOPICS are:

   all, automation, commands, paths, security, testing, or any of the
   subcommands or plugins (certonly, renew, install, register, nginx,
   apache, standalone, webroot, etc.)
  -h all                print a detailed help page including all topics
  --version             print the version number
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
728x90