重建似乎有效,但网站加载不正常

如何正确地进行故障排除?

看起来我可能遇到了 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 环境变量是必需的,但未设置。"; exit 1; fi
          - /bin/bash -c "if [[ ! \"$LETSENCRYPT_ACCOUNT_EMAIL\" =~ ([^@]+)@([^\\.]+) ]]; then echo \"LETSENCRYPT_ACCOUNT_EMAIL 不是一个有效的电子邮件地址\"; 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;

您似乎执行了某些操作,导致证书续订失败,现在您已被速率限制。最近有人通过阻止端口 80 来执行此操作。

一种解决方法是为其他主机名请求证书,如设置 Let’s Encrypt 证书并配置重定向中所述。

3 个赞

我相信该路径会存在于容器内,而不是在你的主机器上。

2 个赞