콘텐츠로 건너뛰기
  • 홈
  • 카테고리
  • 최근
  • 태그
  • 인기
  • 사용자
  • 그룹
축소
브랜드 로고

AskFront 포럼

  1. 홈
  2. 자유로운 소통
  3. 뉴비를 위한 질문 공간
  4. 작업 스케줄러를 통해서 인증서 자동갱신 관련 질문

작업 스케줄러를 통해서 인증서 자동갱신 관련 질문

예약됨 고정됨 잠김 이동됨 Solved 뉴비를 위한 질문 공간
3 게시물 2 작성자 107 조회수
  • 오래된 순
  • 최신 순
  • 가장 많은 투표
답글
  • 토픽으로 답글
로그인 후 답글 작성
이 토픽은 삭제되었습니다. 토픽 관리 권한이 있는 사용자만 볼 수 있습니다.
  • hojin0716H 오프라인
    hojin0716H 오프라인
    hojin0716
    에 작성함 마지막 수정자: navystack
    #1
    #!/bin/bash
    /usr/local/share/acme.sh/acme.sh --cron
    /usr/local/share/acme.sh/acme.sh --deploy --insecure --home /usr/local/share/acme.sh/ -d "도메인주소" --deploy-hook synology_dsm --debug 2
    

    홈페이지 제작자님이 작성해주신 위 코드로 인증서 자동갱신을 하는데 최근 몇번 해보니까 이게 로그에서는 아무 문제없이 잘 됐다고 하는데 실질적으로는 인증서가 갱신되질 않네요.
    다른 사이트에서 어떤분 말로는 이게 3달 간격으로 갱신해줘야 하고 갱신만료 한달전쯤인가 그때부터만 갱신이 된다던데 맞나요?
    로그는 개인정보가 너무 많이 있어서 확인해야 된다고 하시면 개인정보 일일이 수정하여 올리겠습니다.
    사실 당장은 다음 갱신일이 6월 3일인가 그래서 전혀 급하진 않지만 찝찝해서 여쭤봅니다 ㅠㅠ

    1 답글 마지막 답글
    0
    • navystackN 오프라인
      navystackN 오프라인
      navystack
      전역 중재자
      에 작성함 마지막 수정자:
      #2

      @hojin0716 갱신은 한 달 전부터 됩니다. 강제로 하고 싶으면 --force를 붙이면 됩니다.
      당연히 정상적으로 종료 되었으니 로그에서 아무 문제가 없다고 뜨는 것이 정상인겁니다.
      강제 옵션을 넣지 않았으니, 갱신이 되지 않는 것도 정상이구요.

      #!/bin/bash
      
      ## SPDX-License-Identifier: MIT
      
      # 변수 설정
      ACME_HOME="/usr/local/share/acme.sh"
      DOMAIN="navystack.com"
      
      # SSL 인증서 갱신 및 로그 출력
      log_output=$($ACME_HOME/acme.sh --cron --home $ACME_HOME)
      
      # 다음 갱신 시간 파싱
      next_renewal_time=$(echo "$log_output" | grep -oP 'Next renewal time is: \K[^ ]+')
      next_renewal_time_kst=$(date -d "$next_renewal_time" +%Y-%m-%dT%H:%M:%S)
      
      # 갱신할 필요가 없는 경우
      if ! echo "$log_output" | grep -q "to force to renew"; then
          echo "$log_output"
      else
          # 인증서 갱신 생략
          echo "인증서 갱신을 생략합니다."
          echo "갱신 가능 시간은 한국 기준 $next_renewal_time_kst 입니다."
          echo "따라서, 인증서 배포를 생략합니다."
          exit 0
      fi
      
      # 인증서 배포
      deploy_output=$($ACME_HOME/acme.sh --deploy --home $ACME_HOME -d "$DOMAIN" --deploy-hook synology_dsm)
      
      # 배포 중 오류 처리
      if [ $? -ne 0 ]; then
          echo "인증서 배포 중에 오류가 발생했습니다:"
          echo "$deploy_output"
          exit 1
      fi
      
      echo "인증서 배포가 완료되었습니다."
      

      이렇게 수정해보세요 CA가 ZeroSSL 일 경우 입니다.
      구글 인증서 (google GTS), Let's Encrypt 라면 아래의 글을 참고해보세요.

      시놀로지 클라우드플레어 와일드 카드 인증서 발급 (acme.sh 사용)

      고맙습니다.

      1 답글 마지막 답글
      1
      • hojin0716H 오프라인
        hojin0716H 오프라인
        hojin0716
        에 작성함 마지막 수정자:
        #3

        와우... 정말 감사합니다. 예전엔 됐던거같았었는데 진자 선생님 말대로 --force 유무 차이였네요. 급한건 아니니 원래 사용하던대로 하겠습니다~ 명쾌한 해답 감사합니다.

        1 답글 마지막 답글
        0
        • askfrontA askfront has marked this topic as solved on
        답글
        • 토픽으로 답글
        로그인 후 답글 작성
        • 오래된 순
        • 최신 순
        • 가장 많은 투표


        • 로그인

        • 계정이 없으신가요? 등록

        • 검색하려면 로그인하거나 등록하세요.
        이용약관
        개인정보 처리방침
        • 첫 게시물
          마지막 게시물
        0
        • 홈
        • 카테고리
        • 최근
        • 태그
        • 인기
        • 사용자
        • 그룹