acme.sh TSL/SSL 도메인 이름 인증서를 위한 무료 애플리케이션

acme.sh 무료 SSL 인증서 애플리케이션, 자동 갱신 구성 acme.sh 스크립트, 도메인 이름 인증서를 위한 Let's Encrypt 애플리케이션은 매우 간단하고 자동화되어 있으며 무료입니다. acme.sh는 acme 프로토콜을 구현하고 let's Encrypt에서 무료 인증서를 생성할 수 있습니다.

acme.sh 무료 SSL/TSL 도메인 이름 인증서

acme.sh 스크립트를 사용하여 Linux 서버에서 무료 TSL/SSL 도메인 이름 인증서를 신청하세요.

인증서, 자동 갱신 구성 acme.sh 스크립트,매우 유용하다애플리케이션 스크립트, 쉬운 설치, 지원메서드 적용 및 HTTP 메서드 적용,도메인 이름 인증서를 신청하는 것은 간단하고 자동화되어 있으며 무료입니다. acme.sh는 ACME 프로토콜을 구현하고 Let's Encrypt에서 무료 인증서를 생성할 수 있습니다.

let's encrypt와 acme.sh 소개

Let's Encrypt란 무엇인가요?

Let's Encrypt는 2015년 3분기에 출시된 디지털 인증 기관입니다. 자동화된 프로세스를 통해 수동으로 인증서를 만들고 설치하는 복잡한 과정을 없애고 월드 와이드 웹의 사용을 촉진하는 것을 목표로 합니다.암호화된 연결은 어디에나 존재하며 무료로 제공됩니다.자격증.
Let's Encrypt는 인터넷 보안 연구 그룹(ISRG)에서 제공합니다. 주요 후원사로는 일렉트로닉 프런티어 재단(Electronic Frontier Foundation), 모질라 재단(Mozilla Foundation), 아카마이(Akamai), 시스코(Cisco)가 있습니다. 2015년 4월 9일, ISRG와 리눅스 재단은 파트너십을 발표했습니다.
새로운 디지털 인증 기관을 구현하는 데 사용된 프로토콜을 ACME(자동 인증서 관리 환경)라고 합니다.이 사양의 초안은 에서 사용할 수 있으며 제안의 한 버전이 다음과 같이 게시되었습니다.초안이 공개되었습니다.
Let's Encrypt에서 도메인 이름 인증서를 신청하는 과정은 간단하고 자동화되어 있으며 무료입니다.

acme.sh 무료 SSL/TSL 도메인 이름 인증서

acme.sh란 무엇인가요?

간단히 말해서 acme.sh ACME 프로토콜이 구현되었으며 Let's Encrypt에서 무료 인증서를 생성할 수 있습니다.
acme.sh 다음과 같은 특징이 있습니다.

  • Shell(Unix shell) 언어로만 작성된 ACME 프로토콜 클라이언트입니다.
  • 완전한 ACME 프로토콜 구현.
  • ECDSA 인증서 지원
  • SAN 및 와일드카드 인증서 지원
  • 간단하고 강력하며 사용하기도 매우 쉽습니다. 배우는 데 3분밖에 걸리지 않습니다.
  • Bash, dash, sh와 호환됩니다.
  • Shell에 순전히 작성되었으며 다음에 의존하지 않습니다. .
  • 단 하나의 스크립트로 인증서 발급, 갱신, 설치를 자동화하세요.
  • 접근 권한이 필요하지 않습니다. root/sudoer
  • 도커 준비 완료
  • IPv6 준비
  • 갱신이나 오류 등 배정 알림.

Github 프로젝트 홈페이지:https://github.com/acmesh-official/acme.sh

acme.sh를 설치하는 방법

ACME 클라이언트 프로토콜을 구현한 순수한 Unix 쉘 스크립트입니다.

acme.sh 스크립트를 설치하세요

설치는 매우 간단합니다. 명령어는 다음과 같습니다.

내@example.com귀하의 이메일 주소로 변경하세요.

curl https://get.acme.sh | sh -s email=my@example.com

스크립트를 서버에 다운로드하여 설치하세요.

wget -O - https://get.acme.sh | sh -s 이메일=my@example.com

또는 git에서 설치하려면 이 프로젝트를 복제하고 설치를 시작하세요.

git clone https://github.com/acmesh-official/acme.sh.git cd ./acme.sh ./acme.sh --install -m my@example.com

설치 프로그램은 3가지 작업을 수행합니다.

  • 홈 디렉토리()에 acme.sh$HOME~/.acme.sh/를 만들어 복사합니다. 모든 인증서도 이 폴더에 저장됩니다.
  • 다음에 대한 별칭을 만듭니다: acme.sh=~/.acme.sh/acme.sh
  • 필요에 따라 인증서를 확인하고 갱신하기 위한 일일 cron 작업을 생성합니다.

acme.sh 스크립트 구성

일반 사용자와 루트 사용자 모두 acme.sh를 설치하고 사용할 수 있습니다.
설치 과정은 다음 단계로 진행됩니다.
홈 디렉토리에 acme.sh를 설치하세요: ~/.acme.sh/ 그리고 편의를 위해 bash 별칭을 만드세요:

별칭 acme.sh=~/.acme.sh/acme.sh echo '별칭 acme.sh=~/.acme.sh/acme.sh' >>/etc/profile

설치 과정에서 매일 0시에 모든 인증서를 자동으로 확인하는 Cronjob이 자동으로 생성됩니다. 인증서가 만료되어 갱신해야 하는 경우, 인증서가 자동으로 갱신됩니다.

00 00 * * * 루트 /root/.acme.sh/acme.sh --cron --홈 /root/.acme.sh &>/var/log/acme.sh.logs

더욱 고급적인 설치 옵션은 다음을 참조하세요. https://github.com/Neilpang/acme.sh/wiki/How-to-install
이 스크립트를 설치하는 동안 기존 시스템 기능과 파일은 손상되지 않습니다. 모든 수정 사항은 설치 디렉터리(~/.acme.sh/)로 제한됩니다.

acme.sh를 사용하여 인증서 신청

acme.sh는 acme 프로토콜이 지원하는 모든 인증 프로토콜을 구현합니다. 일반적으로 인증에는 http 인증과 DNS 인증, 두 가지 방법이 있습니다.

HTTP 메서드

HTTP 방식을 사용하려면 웹사이트 루트 디렉터리에 파일을 저장하여 도메인 이름 소유권을 확인하고 검증을 완료해야 합니다. 그런 다음 인증서를 생성할 수 있습니다.

예를 들어 boxpu.com이라는 도메인 이름을 살펴보겠습니다.

acme.sh --issue -d boxpu.com -d *.boxpu.com --webroot /www/wwwroot/boxpu.com/

도메인 이름과 해당 도메인 이름이 있는 웹사이트의 루트 디렉터리만 지정하면 됩니다. acme.sh는 자동으로 확인 파일을 생성하여 웹사이트 루트 디렉터리에 저장한 후 확인을 자동으로 완료합니다. 마지막으로 확인 파일을 자동으로 삭제하며, 이 과정에는 부작용이 없습니다.
당신이 사용하는 경우 서버, acme.sh는 Apache 구성에서 자동으로 검증을 지능적으로 완료할 수도 있으며, 웹사이트 루트 디렉토리를 지정할 필요가 없습니다.

acme.sh --issue -d boxpu.com --boxpu.com

당신이 사용하는 경우 서버, 아니면 반세대, acme.sh nginx 구성에서 자동으로 검증을 완료할 수도 있으며, 웹사이트 루트 디렉토리를 지정할 필요가 없습니다.

acme.sh --issue -d boxpu.com --nginx

참고: Apache 또는 Nginx 모드에 관계없이 acme.sh는 검증 완료 후 이전 상태로 복원되며, 사용자의 허가 없이 설정을 변경하지 않습니다. 설정 손상에 대해 걱정할 필요가 없다는 장점이 있습니다.
이러한 구성에는 단점이 있습니다. SSL 구성을 직접 설정해야 합니다. 그렇지 않으면 인증서만 성공적으로 생성되고 웹사이트는 여전히 https에 접속할 수 없습니다. 하지만 보안상의 이유로 구성을 수동으로 변경해야 합니다.
아직 웹 서비스를 실행하지 않았고 포트 80이 비어 있는 경우 acme.sh는 웹 서버인 척하고 포트 80에서 일시적으로 수신 대기하여 검증을 완료할 수도 있습니다.

acme.sh --issue -d boxpu.com --standalone

더욱 고급 사용법은 다음을 참조하세요. https://github.com/Neilpang/acme.sh/wiki/How-to-issue-a-cert

DNS 방법

이 방법의 장점은 서버나 공용 IP 주소가 필요하지 않고, DNS 확인 레코드만 있으면 검증을 완료할 수 있다는 것입니다.
이 방법의 단점은 자동 DNS API가 동시에 구성되지 않으면 acme.sh가 이 방법을 사용하여 인증서를 자동으로 갱신할 수 없고, 그때마다 도메인 이름 소유권을 수동으로 다시 분석하고 검증해야 한다는 것입니다.

DNS를 사용하여 인증서 신청

cd /root/.acme.sh acme.sh --issue -d *.boxpu.com -d boxpu.com --dns --yes-알겠습니다-dns-수동-모드-충분합니다-계속하세요

DNS를 수정하고 NS 관리 측의 호스트 레코드를 수정합니다.

DNS를 사용하여 인증서 생성

Let's Encrypt에서 무료 와일드카드 도메인 이름 인증서를 받으세요. DNS 확인이 완료되면 다음 명령을 실행하여 인증서를 다시 생성하세요.

acme.sh --renew -d *.boxpu.com -d boxpu.com --dns --네, 알겠습니다. DNS 수동 모드면 충분합니다. 계속 진행해 주세요.

두 번째로 사용할 때는 주의하세요 --고쳐 쓰다

DNS 메서드 API

DNS 방법의 실제 힘은 다음을 사용할 수 있다는 것입니다.공급업체가 제공하는 API는 자동으로 txt 레코드를 추가하여 검증을 완료합니다.
acme.sh는 현재 다음을 지원합니다. 、dnspod、cloudxns、 그리고 ovh와 같은 수십 개의 파서를 자동으로 통합합니다.
예를 들어 dnspod를 사용하려면 먼저 dnspod 계정에 로그인하여 API ID와 API 키를 생성해야 합니다. 둘 다 무료입니다.

DP_Id="xxxxxxxxxxx" 내보내기 DP_Key="xxxxxxxxxxxxxx" 내보내기 acme.sh --issue --dns dns_dp -d boxpu.com -d boxpu.com

인증서는여기에 입력된 API ID와 API 키는 자동으로 기록됩니다. 나중에 dnspod API를 사용할 때 다시 지정할 필요가 없습니다. 직접 생성하기만 하면 됩니다.

acme.sh --issue -d boxpu.com --dns dns_dp

더 자세한 API 사용법: https://github.com/Neilpang/acme.sh/blob/master/dnsapi/README.md

TLS/SSL 인증서 사용

TLS/SSL 인증서 설치

인증서가 생성된 후에는 실제로 필요한 곳에 복사해야 합니다.

기본적으로 생성된 인증서는 설치 디렉터리인 ~/.acme.sh/에 저장됩니다. 이 디렉터리의 파일을 직접 사용하지 마세요.
예를 들어: 다음 파일을 nginx/apache 설정 파일에 직접 사용하지 마세요.
여기에 있는 파일은 내부용으로만 사용되며 디렉터리 구조는 변경될 수 있습니다. 올바른 사용 방법은 --installcert 명령을 사용하고 대상 위치를 지정하는 것입니다. 그러면 인증서 파일이 해당 위치에 복사됩니다. 예:

acme.sh --installcert -d boxpu.com \ --key-file /etc/nginx/ssl/uzbox.key \ --fullchain-file /etc/nginx/ssl/fullchain.cer \ --reloadcmd "systemctl 강제로 nginx를 다시 로드합니다"

Nginx 서버에 SSL 인증서 설치

예를 들어, Nginx 표준 설정을 예로 들면, 생성된 인증서 파일은 fullchain.cer을 사용하는 것이 좋고, 개인 키 파일은 boxpu.com.key입니다.

Nginx의 ssl_certificate 구성은 .cer 대신 fullchain.cer을 사용합니다. 그렇지 않으면 SSL Labs 테스트에서 Chain issues Incomplete 오류가 보고됩니다.
위에서 생성된 인증서 경로는 /www/server/panel/vhost/cert/boxpu.com/입니다.
Nginx 설정 파일 수정

서버 { 수신 443; 서버 이름 boxpu.com; ssl 켜기; 루트 html; 인덱스 index.html index.htm; ssl_certificate /www/server/panel/vhost/cert/boxpu.com/fullchain.cer; ssl_certificate_key /www/server/panel/vhost/cert/boxpu.com/clsn.key; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers 켜기; 위치 / { 루트 html; 인덱스 index.html index.htm; } }

nginx를 다시 시작하고 새 구성을 로드합니다.

systemctl 강제 재로드 nginx

참고: 여기서는 systemctl reload nginx가 아니라 systemctl force-reload nginx가 사용됩니다. Reload는 인증서를 다시 로드하지 않으므로, force-reload가 사용됩니다.

인증서 갱신

인증서 갱신

현재 인증서는 90일 동안 유효하며 60일 후에 발급됩니다.자동 갱신이므로 아무것도 할 필요가 없습니다. 모든 것이 자동으로 진행되므로 인증서 만료에 대해 걱정할 필요가 없습니다.

acme.sh 업데이트

현재 acme 프로토콜과 letsencrypt CA가 자주 업데이트되므로 acme.sh도 동기화를 유지하기 위해 자주 업데이트됩니다.
acme.sh를 최신 버전으로 업그레이드하세요:

acme.sh --업그레이드
수동으로 업데이트하고 싶지 않다면 자동 업데이트를 활성화할 수 있습니다.
acme.sh --업그레이드 --자동 업그레이드
이후 acme.sh는 자동으로 최신 상태로 유지됩니다. 언제든지 자동 업데이트를 끌 수도 있습니다.
acme.sh --업그레이드 --자동 업그레이드 0
참고문헌
점수

댓글남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다