acme.sh를 통해 HTTPS 인증서를 생성합니다.

acme.sh 란 무엇입니까?

acme.sh는 HTTPS 인증서 생성 및 관리를 자동화하는 데 사용되는 오픈 소스 셸 스크립트입니다.

설치

curl https://get.acme.sh | sh -s [email protected]

설치 후 acme.sh가 홈 디렉터리에 나타납니다.

~/.acme.sh

acme.sh의 환경 변수를 적용하려면 다음 명령을 실행하십시오.

source ~/.basrc

인증서 생성

인증서를 생성하기 전에 acme.sh는 도메인 이름의 소유권을 확인해야 합니다. 다음과 같은 여러 가지 확인 모드가 있습니다.

HTTP 확인

Apache

Apache 서버를 사용하는 경우.

acme.sh --issue -d mydomain.com --apache

Nginx 서버

nginx 서버를 사용하는 경우.

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

웹사이트 루트 디렉터리에 파일을 추가합니다.

또한 acme.sh에 웹 사이트의 루트 디렉터리를 알려주면 acme.sh가 확인을 위해 자동으로 파일을 추가합니다.

acme.sh --issue -d mydomain.com --webroot /path-to-the-webroot-of-the-site

DNS 확인

수동으로 레코드 추가

명령 실행

acme.sh --issue --dns -d mydomain.com --yes-I-know-dns-manual-mode-enough-go-ahead-please

그럼, acme.sh 해당 구문 분석 기록을 생성하고 표시합니다. 도메인 관리 패널에 이 TXT 레코드를 추가하기만 하면 됩니다.

그런 다음 인증서를 재생성하십시오

acme.sh --renew -d mydomain.com --yes-I-know-dns-manual-mode-enough-go-ahead-please

DNS 서비스 제공업체 API를 통해 확인하세요.

이는 가장 일반적으로 사용되며 권장되는 확인 모드입니다. CloudFlare를 예로 들면 다음을 참조하세요.https://github.com/amesh-official/acme.sh/wiki/dnsapi 다른 서비스 제공업체의 인증서를 적용하려면

API를 신청하세요.

글로벌 API 키는 Cloudflare 프로필 페이지에서 얻을 수 있습니다.API 토큰 섹션. 글로벌 API 키 옆에 있는 "보기"를 클릭하고 Cloudflare 비밀번호를 확인하면 비밀번호가 표시됩니다. 환경 변수를 설정하여 acme.sh에 제공해야 하는 32자의 16진수 문자열입니다.CF_Key 그 가치에. 또한 설정해야 합니다.CF_Email Cloudflare 계정과 연결된 이메일 주소 이는 Cloudflare에 로그인할 때 입력하는 이메일 주소입니다. 예를 들어:

export CF_Key="763eac4f1bcebd8b5c95e9fc50d010b4"
export CF_Email="[email protected]"

인증서를 생성합니다.

acme.sh --issue --dns dns_cf -d example.com -d '*.example.com'

인증서 파일 보기

인증서가 생성된 후 ~/.acme.sh/mydomain.com_ecc에 액세스하여 인증서 파일을 볼 수 있습니다.fullchain.cer인증서 파일입니다.mydomain.io.key 개인 키 파일입니다. 둘 다 사이트 구성 프로세스 중에 i18n.so에 업로드할 수 있는 텍스트 파일입니다.

acme.sh 사용 중 일반적인 문제

CA

acme.sh는 이제 기본적으로 CA로 ZeroSSL을 사용하지만 접근성 문제가 자주 발생합니다. 다음 명령을 사용하여 CA를 Let's Encrypt로 전환할 수 있습니다.

acme.sh --set-default-ca --server letsencrypt

와일드카드 도메인 인증서를 생성합니다.

당신이 적용하려는 인증서가 해당되는 것으로 가정합니다.example.com그리고*.example.com, 다음 명령을 사용하여 와일드카드 도메인 인증서를 생성할 수 있습니다.

acme.sh -d example.com -d *.example.com

인증서 갱신

acme.sh는 인증서를 생성한 후 정기적으로 인증서를 업데이트하는 crontab 예약 작업을 추가합니다. 다음 명령을 사용하여 예약된 작업을 볼 수 있으며, 업데이트된 내용은 다음 위치에도 저장됩니다.~/.acme.sh/mydomain.com_ecc.

crontab -e