우수한 소프트웨어와 실용적인 튜토리얼
Linux 서버에서 무료 SSL 인증서 신청
어떤 유형의 웹사이트를 만들든 첫 번째 단계는 신청하는 것입니다. SSL유효한 인증서가 없는 경우도메인 이름 인증서HTTP 포트 80을 통해서만 접속할 수 있습니다. 현재 주요 웹사이트 접속 방식은 HTTPS 접속이므로 SSL 도메인 이름 인증서를 신청하는 것이 필수입니다! 방법은 다음과 같습니다.도메인 이름 인증서 신청도메인 이름 인증서를 신청하는 방법은 여러 가지가 있습니다.
먼저 TSL/SSL이 무엇인지 알아보겠습니다.
무료로 신청하세요 SSL 인증서 SSL은 "Secure Sockets Layer"의 약자로, 1990년대 중반 넷스케이프에서 개발했습니다. (참고로, 넷스케이프는 SSL을 발명했을 뿐만 아니라 "CSS 스타일 시트"와 "JS 스크립트" 등 다양한 웹 인프라도 개발했습니다.)
SSL 프로토콜은 왜 발명되었을까요? 원래 인터넷에서 사용되던 HTTP 프로토콜은 평문이었는데, 전송되는 콘텐츠가 스니핑되거나 변조될 수 있는 등 많은 단점이 있었습니다. SSL 프로토콜은 이러한 문제를 해결하기 위해 개발되었습니다.
1999년, SSL은 널리 사용되면서 인터넷의 사실상 표준이 되었습니다. IETF는 그해 SSL을 표준화했습니다. 표준화 이후 SSL의 이름은 TLS(Transport Layer Security의 약자)로 변경되었고, 중국어로는 "Transport Layer Security Protocol"이라고 합니다.
많은 관련 기사에서 SSL/TLS를 동시에 언급하는데, 이는 둘이 같은 것의 다른 단계로 간주될 수 있기 때문입니다. 도메인 이름이 TSL을 지원하도록 하려면 어떻게 해야 할까요? 간단히 말해서, 도메인 이름에 SSL/TSL 인증서를 신청하는 것입니다!
SSL/TSL 인증서를 신청하려면 다음을 참조하세요.
- Let's Encrypt는 무료 SSL 인증서를 신청하고 인증서를 자동으로 갱신하며 영구적으로 https를 사용합니다.
- 무료 SSL 인증서 로봇: Certbot이 https 도메인 이름 인증서의 자동 갱신을 신속하게 신청합니다.
TSL/SSL 인증서를 무료로 신청하세요
SSL 인증서에는 두 가지 유형이 있습니다. 하나는 ECC 인증서(내장 공개 키는 ECDSA 공개 키)이고, 다른 하나는 RSA 인증서(내장 RSA 공개 키)입니다. 간단히 말해, ECC는 같은 길이의 RSA보다 더 안전합니다. 즉, 동일한 보안 조건에서 ECC의 키 길이는 RSA보다 훨씬 짧습니다(암호화 및 복호화 속도가 더 빠릅니다). 하지만 문제는 ECC의 호환성이 낮고 Android 4.x 이하 및 Windows XP에서는 지원되지 않는다는 것입니다. 기기가 오래된 구형 기기가 아니라면 ECC 인증서를 사용하는 것이 좋습니다.
아래를 사용하세요 acme.sh 스크립트, Linux 서버에서 TSL/SSL 인증서를 신청하는 방법:
컬 https://get.acme.sh | sh
SOCAT을 먼저 설치해야 한다는 메시지가 표시됩니다. socat을 설치한 후 서버를 재시작하고 스크립트를 실행하여 인증서를 신청하세요. Centos8에서는 80번 포트가 사용 중이라는 메시지가 표시됩니다. SOCAT을 제거한 후 인증서를 신청할 때 SOCAT을 다시 설치해야 한다는 메시지가 표시됩니다. 무한 루프입니다! 재부팅하여 문제를 해결하세요!
dnf -y 설치 socat 재부팅
아래 인증서를 생성하세요. 서버에 nginx나 apache와 같은 웹 서버를 설치했다면 일시적으로 종료해야 합니다. 인증서 신청 과정에서 80번 포트가 점유됩니다. 서버의 80번 포트가 점유되어 있지 않은지 확인하세요.
포트에 대한 몇 가지 작은 명령:
netstat -tln # 서버의 포트 사용량을 확인합니다. netstat -tln | grep 80 # 80번 포트가 사용 중인지 확인합니다. 명령줄이 응답하지 않으면 포트가 사용 중이 아닌 것입니다. 사용 중이면 해당 포트가 표시됩니다. lsof -i :80 # 해당 포트가 어떤 프로그램에 속해 있는지 확인합니다. 어떤 프로세스가 해당 포트를 사용하고 있는지 확인합니다. kill -9 프로세스 번호 # 해당 포트를 사용하고 있는 프로세스를 종료합니다.
시작하자SSL 인증서 신청오류가 발생하면 --debug 매개변수를 추가하여 자세한 오류를 볼 수 있습니다.
acme.sh --issue -d gogobox.tk --standalone -k ec-256
예상치 못한 일이 발생하지 않으면 TSL/SSL 인증서가 성공적으로 생성된 것입니다!
TSL/SSL 무료 인증서의 유효 기간은 90일이며, 90일 이내에 인증서를 갱신해야 합니다. 스크립트는 60일마다 인증서를 업데이트합니다. 이론적으로 무료 인증서는 갱신하여 무기한 사용할 수 있습니다. 물론 다음 명령을 사용하여 수동으로 업데이트할 수도 있습니다.
acme.sh --renew -d gogobox.tk --force --ecc
www로 시작하는 도메인 이름이나 2차 도메인 이름을 생성해야 하는 경우, 도메인 이름 앞에 -d 매개변수를 추가하세요. --force 매개변수는 인증서를 강제로 업데이트하는 데 사용됩니다! 예:
acme.sh --issue -d gogobox.tk -d www.gogobox.tk -d m.gogobox.tk --standalone -k ec-256 --force
인증서를 설치하세요. SSL 인증서를 신청하면 기본적으로 루트 디렉터리에 저장됩니다. 인증서를 설치해야 하는 경우 지정된 위치에 설치하세요.
acme.sh --installcert -d gogobox.tk --ecc --key-file /home/ssl/gogobox.tk.key --fullchain-file /home/ssl/fullchain.cer --reloadcmd "systemctl 강제로 nginx를 다시 로드합니다"
SSL 인증서를 신청하는 또 다른 방법은 다음과 같습니다.
먼저 socat을 설치하세요
dnf 설치 socat
acme.sh를 설치하세요
컬 https://get.acme.sh | sh
스크립트 설치后reboot,在nginx里设置好域名后,再进行证书申请
acme.sh --issue -d gogobox.tk -d www.gogobox.tk --webroot /var/wwwroot/
nginx에 도메인 이름 경로가 설정되어 있는 경우, 해당 명령을 사용하여 nginx 구성을 읽을 수도 있습니다.
acme.sh --issue -d gogobox.tk --nginx
인증서 신청이 성공적으로 완료되면 인증서를 설치해야 합니다.
인증서 신청이 성공적으로 완료되면 인증서를 설치합니다. acme.sh --installcert -d gogobox.tk --key-file /home/ssl/gogobox.tk.key --fullchain-file /home/ssl/fullchain.cer --reloadcmd "systemctl force-reload nginx"
cer과 crt 확장자를 가진 인증서의 차이점은 무엇입니까?
CRT 확장자를 가진 인증서는 DER 또는 PEM으로 인코딩됩니다. CER 확장자와 CRT 확장자는 거의 동의어입니다. 이는 다양한 Unix/Linux 시스템에서 흔히 볼 수 있습니다.
CER은 Microsoft에서 제공하는 CRT 인증서 형식입니다. Microsoft 도구를 사용하여 CRT 파일을 CER 파일로 변환할 수 있습니다(CRT와 CER은 DER 또는 PEM과 같은 동일한 형식으로 인코딩되어야 합니다). CER 확장자를 가진 파일은 IE에서 인식되어 Microsoft의 암호화 API를 호출하는 명령으로 사용될 수 있습니다.
Windows에는 .cer 및 .crt와 같은 여러 인증서 확장자가 있습니다. 일반적으로 .cer 파일은 바이너리 데이터이고, .crt 파일은 ASCII 데이터를 포함합니다.
cer 파일에는 x.690 표준에 지정된 인코딩 형식인 DER(Distinguished Encoding Rules)에 따라 인코딩된 인증서 데이터가 들어 있습니다.
X.509는 가장 기본적인 공개 키 형식 표준으로, 인증서에 포함되어야 하는 다양한 정보를 명시합니다. 일반적으로 우리가 언급하는 인증서는 공개 키, 발급자의 디지털 서명, 유효 기간 등을 포함하는 이 형식을 따릅니다. 하지만 개인 키는 포함하지 않는다는 점을 강조해야 합니다. 관련 형식은 DER, PEM, CER, CRT입니다.
SSL 도메인 이름 인증서가 신청되었습니다!
SSL 인증서를 온라인으로 무료로 신청하세요
FreeSSL: FreeSSL은 무료 HTTPS 인증서 신청, HTTPS 인증서 관리 및 HTTPS 인증서 만료 알림 서비스를 제공하는 웹사이트입니다. HTTPS 인증서의 대중화 및 적용을 촉진하고 인증서 신청 절차를 간소화하는 것을 목표로 합니다.
SSL 인증서 신청 웹사이트:https://freessl.org
certbot: certbot은 스크립트 기반 Let's Encrypt 인증서 애플리케이션 클라이언트입니다. 명령줄 사용 경험이 필요합니다. 자동 업데이트가 필요한 경우 플러그인을 추가해야 하므로 사용하기 어렵습니다. 자동 업데이트 및 자동 배포가 필요한 경우 아래에 설명된 acme.sh와 ohttps를 사용하는 것이 좋습니다.
SSL 인증서 신청 웹사이트:https://certbot.eff.org
acme.sh: Let's Encrypt 인증서 신청을 위한 잘 알려진 오픈소스 프로젝트입니다. 자세한 설명서가 포함된 스크립트 유형이며 자동 업데이트 및 배포를 지원합니다. 유일한 단점은 acme.sh가 업데이트 후 여러 노드에 자동으로 배포해야 하는 요구를 충족하지 못한다는 것입니다. 명령줄 사용 경험이 있다면 acme.sh는 여전히 매우 편리하며 강력히 추천합니다! 업데이트 후 여러 노드에 자동으로 배포해야 하는 경우에는 아래에 설명된 ohttps를 사용하는 것이 좋습니다.
SSL 인증서 신청 웹사이트:https://github.com/acmesh-official/acme.sh
acme.sh와 유사한 기능을 제공하지만, 사용자 친화적인 관리 인터페이스를 제공하고 Let's Encrypt 무료 와일드카드 유형 인증서를 신청할 수 있으며, 인증서 해지, 만료 전 알림, 자동 업데이트 및 자동 배포 기능도 제공합니다. 또한, acme.sh에 비해 매우 실용적인 기능들을 추가했는데, 주요 기능은 Alibaba Cloud, Tencent Cloud, Qiniu Cloud의 부하 분산, 콘텐츠 배포 CDN, SSL 인증서 목록 등에 대한 자동 배포 기능입니다. 또한 여러 nginx 컨테이너에 자동으로 배포할 수 있습니다. 인증서 업데이트 후 여러 노드에 자동으로 배포해야 하는 경우 http://ohttps.com을 사용하세요. Let's Encrypt에서 발급한 무료 HTTPS 인증서를 신청하고 관리하려면 http://ohttps.com을 사용하는 것이 좋습니다.
SSL 인증서 신청 웹사이트:http://ohttps.com