ACME API 升级到 V2 后续订证书的问题

Problems with renewing certificates after ACME API upgrade to V2

我们正在使用 acme.sh 更新我们的 let's encrypt 证书和 运行 今天遇到的问题。

首先,我们遇到了一些错误,并且 运行 经常进入 rate limit for invalid requests,因此决定升级到 V2,因为无论如何都是推荐的。

我们升级了 运行 acme.sh --upgrade 并更新了域配置中的所有 URL 以使用新的 v2 端点。

现在 acme.sh --renew -d my.domain.at --ecc 比以前运行得更远(我们遇到了一些无法获得 nonce 的问题,因为我们缺少 Le_API 中的 /directory 后缀变量。

现在我们遇到了在验证中收到未经授权的问题:

{
  "type": "http-01",
  "status": "invalid",
  "error": {
    "type": "urn:ietf:params:acme:error:unauthorized",
    "detail": "Invalid response from https://my.domain.at/login [...]: \"\u003c!DOCTYPE html\u003e\n\u003chtml\u003e\n    \u003chead\u003e\n        \u003cmeta http-equiv=\\"X-UA-Compatible\\" content=\\"IE=edge\\"/\u003e\n        \u003cmeta charset=\\"utf-8\\"/\u003e\"",
    "status": 403
  },
  "url": "https://acme-v02.api.letsencrypt.org/acme/chall-v3/11110584350/BRAIDw",
  "token": "my-hash",
  "validationRecord": [
    {
      "url": "http://my.domain.at/.well-known/acme-challenge/my-hash",
      "hostname": "my.domain.at",
      "port": "80",
      "addressesResolved": [
        "X.X.X.X",
        "..."
      ],
      "addressUsed": "..."
    },
    {
      "url": "https://my.domain.at/.well-known/acme-challenge/my-hash",
      "hostname": "my.domain.at",
      "port": "443",
      "addressesResolved": [
        "X.X.X.X",
        "..."
      ],
      "addressUsed": "..."
    },
    {
      "url": "https://my.domain.at/login",
      "hostname": "my.domain.at",
      "port": "443",
      "addressesResolved": [
        "X.X.X.X",
        "..."
      ],
      "addressUsed": "..."
    }
  ]
}

我们有一个 NGINX 运行,我们不确定这里发生了什么。据我们所知,我们不应该被重定向到 /login 页面。

我们错过了什么吗?在我们今天 运行 遇到问题并尝试升级之前,证书续订一直都是完美无缺的。

事实证明我们的 NGINX 配置是错误的,我们将所需的路由 .well-known/acme-challenge 配置为指向一个空文件夹,现在我们在问自己这是怎么回事。 ¯_(ツ)_/¯

修复 NGINX 中的配置后,一切正常。