Rebuild가 작동하는 것 같지만 사이트가 제대로 로드되지 않음

적절하게 문제를 해결하려면 어떻게 해야 하나요?

letsencrypt가 인증서를 갱신하지 못하는 문제인 것 같습니다.

.launcher logs app을 실행하면 로그에서 /shared/letsencrypt를 확인한다고 언급하지만, 해당 디렉터리는 존재하지 않습니다. 저는 /shared/standalone/letsencrypt 디렉터리만 가지고 있습니다.

image

업그레이드 과정에서 디렉터리 구조가 변경되어 현재 무언가가 올바른 경로로 지정되지 않는 것은 아닌가요?

이 템플릿이 잘못된 건가요?

  LETSENCRYPT_DIR: "/shared/letsencrypt"
  DISCOURSE_FORCE_HTTPS: true

hooks:
  after_ssl:
    - exec:
       cmd:
         - if [ -z "$LETSENCRYPT_ACCOUNT_EMAIL" ]; then echo "LETSENCRYPT_ACCOUNT_EMAIL ENV variable is required and has not been set."; exit 1; fi
         - /bin/bash -c "if [[ ! \"$LETSENCRYPT_ACCOUNT_EMAIL\" =~ ([^@]+)@([^\.]+) ]]; then echo \"LETSENCRYPT_ACCOUNT_EMAIL is not a valid email address\"; exit 1; fi"

    - exec:
       cmd:
         - cd /root && git clone --branch 3.0.6 --depth 1 https://github.com/acmesh-official/acme.sh.git && cd /root/acme.sh
         - touch /var/spool/cron/crontabs/root
         - install -d -m 0755 -g root -o root $LETSENCRYPT_DIR
         - cd /root/acme.sh && LE_WORKING_DIR="${LETSENCRYPT_DIR}" ./acme.sh --install --log "${LETSENCRYPT_DIR}/acme.sh.log"
         - cd /root/acme.sh && LE_WORKING_DIR="${LETSENCRYPT_DIR}" ./acme.sh --upgrade --auto-upgrade
         - cd /root/acme.sh && LE_WORKING_DIR="${LETSENCRYPT_DIR}" ./acme.sh --set-default-ca  --server  letsencrypt

    - file:
       path: "/etc/nginx/letsencrypt.conf"
       contents: |
        user www-data;
        worker_processes auto;
        daemon on;

        events {
          worker_connections 768;
          # multi_accept on;

인증서 갱신이 실패하도록 무언가를 변경한 것 같습니다. 현재는 요청 횟수 제한(rate limit)이 적용된 상태입니다. 최근 누군가가 80 포트를 차단하여 이러한 문제가 발생한 사례가 있습니다.

여러 도메인/리디렉션으로 Let’s Encrypt 설정하기에 설명된 대로 추가 호스트네임에 대해 인증서를 요청하는 것이 우회 방법입니다.

해당 경로는 메인 머신에 있는 것이 아니라 컨테이너 내부에 존재할 것입니다.