본문 바로가기
시스템/wildfly

무료인증서 발급 방법 Let's Encrypt ssl 인증서

by cbwstar 2024. 2. 29.
728x90
반응형

Let's Encrypt ssl 인증서 발급방법

/* Let's Encrypt ssl 인증서 발급방법 */
mkdir -p /var/www/letsencrypt/.well-known/acme-challenge
touch /etc/nginx/snippets/letsencrypt.conf
chown root:ubuntu /etc/nginx/snippets/letsencrypt.conf
chmod 775 /etc/nginx/snippets/letsencrypt.conf

vi /etc/nginx/snippets/letsencrypt.conf
/* 내용 저장 */
location ^~ /.well-known/acme-challenge/ {
    default_type "text/plain";
    root /var/www/letsencrypt;
}

/* nginx 라우팅 설정 */
cd /etc/nginx/sites-available/default

root /var/www/html;
	index index.php index.html index.htm index.nginx-debian.html;
      /* 서비스할 도메인 주소 */	
        server_name XXXX.com;   
   /* 이것 추가 */
    include /etc/nginx/snippets/letsencrypt.conf;   ### .well-know/acme-challenge 알림

/* nginx 오류 검증 */
 nginx -t

/* nginx 재기동 */
service nginx restart

/* centos 패키지 설치 */
yum install letsencrypt -y

/* 우분투 certbot 설치 */
sudo snap install core; sudo snap refresh core
$ sudo apt-get remove certbot
$ sudo snap install --classic certbot
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
/* 인증서 발급 */
$ sudo certbot certonly --webroot --agree-tos --no-eff-email --email 이메일주소 -w /var/www/letsencrypt -d 도메인명 -d 도메인명(www포함)
예) sudo certbot certonly --webroot --agree-tos --no-eff-email --email xxx@gmail.com -w /var/www/letsencrypt -d test.com -d www.test.com

/* 인증서 발급 테스트 */
certbot renew --dry-run

/* 인증서 만료 날짜 확인 */
certbot certificates


/* 인증서 재갱신 설정 nginx 시작 크론탭에 등록 */
30 4 * * 0 letsencrypt.sh

/* bin 디렉토리에 스크립트를 만들어야 크론탭에서 이상없이 실행된다. */
vi /bin/letsencrypt.sh

#!/bin/sh
sudo service nginx stop
sudo certbot renew > /home/ubuntu/le_renew.log
fuser -k 80/tcp
sudo service nginx start

/* nginx 재갱신 끝 */

/* 아파치 인증서 자동 갱신 */
크론탭 설정
# vi /etc/crontab 에 아래 내용 추가
00 09 * * 1 root /usr/bin/certbot renew --renew-hook="/usr/local/apache2.4.57/bin/apachectl graceful"
/* 아파치 인증서 자동갱신 끝 */
728x90
반응형

댓글



"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

loading