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