【问题标题】:nginx Unable to issue letsencrypt ssl certificate with Laravel Forgenginx 无法使用 Laravel Forge 颁发 letencrypt ssl 证书
【发布时间】:2020-12-16 06:02:58
【问题描述】:

我在 Nginx 中使用 Laravel Forge 部署了一个 Laravel 项目。 此应用程序有几个别名。 我正在尝试为每个别名颁发 ssl 证书,但出现以下错误:

ERROR: Challenge is invalid! (returned: invalid) (result: ["type"]  "http-01"
["status"]  "invalid"
["error","type"]    "urn:ietf:params:acme:error:unauthorized"
["error","detail"]  "Invalid response from example.com/.well-known/acme-challenge/xxxxxxxxxxxxxxx [xxx.xx.xxx.xx]: \"\u003c!DOCTYPE html PUBLIC \\\"-//W3C//DTD XHTML 1.0 Transitional//EN\\\" \\\"DTD/xhtml1-transitional.dtd\\\"\u003e\\n\u003chtml xmlns=\\\"http://www.w3.org/199\""
["error","status"]  403
["error"]   {"type":"urn:ietf:params:acme:error:unauthorized","detail":"Invalid response from example.com/.well-known/acme-challenge/xxxxxxxxxxxxxxx [xxx.xx.xxx.xx]: \"\u003c!DOCTYPE html PUBLIC \\\"-//W3C//DTD XHTML 1.0 Transitional//EN\\\" \\\"DTD/xhtml1-transitional.dtd\\\"\u003e\\n\u003chtml xmlns=\\\"http://www.w3.org/199\"","status":403}
["url"] "https://acme-v02.api.letsencrypt.org/acme/chall-v3/xxxxxxx/xxxxxx"
["token"]   "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
["validationRecord",0,"url"]    "example.com/.well-known/acme-challenge/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
["validationRecord",0,"hostname"]   "example.com"
["validationRecord",0,"port"]   "80"
["validationRecord",0,"addressesResolved",0]    "xxx.xx.xxx.xx"
["validationRecord",0,"addressesResolved"]  ["xxx.xx.xxx.xx"]
["validationRecord",0,"addressUsed"]    "xxx.xx.xxx.xx"
["validationRecord",0]  {"url":"example.com/.well-known/acme-challenge/xxxxxxxxxxxxxxx","hostname":"example.com","port":"80","addressesResolved": 
["xxx.xx.xxx.xx"],"addressUsed":"xxx.xx.xxx.xx"}
["validationRecord"]    [{"url":"example.com/.well-known/acme-challenge/xxxxxxxxxxxxxxxxxx","hostname":"example.com","port":"80","addressesResolved":["xxx.xx.xxx.xx"],"addressUsed":"xxx.xx.xxx.xx"}])

提前感谢您的帮助。

【问题讨论】:

    标签: laravel nginx ssl lets-encrypt laravel-forge


    【解决方案1】:

    Let's encrypt 说必须通过 http(端口 80)发送请求,但不能这样做。 尝试这个: 转到 larave Forge 站点页面,在底部,并以这种方式编辑 nginx 配置文件:

    listen: 80
    listen:[::] 80
    

    保存并再次尝试颁发您的证书。

    请记住,在此之后,您必须修改配置以允许 https 通信。

    它对我有用。

    【讨论】:

      猜你喜欢
      • 2018-06-11
      • 1970-01-01
      • 2021-03-21
      • 1970-01-01
      • 2016-03-01
      • 2019-12-21
      • 2017-08-31
      • 2016-07-17
      相关资源
      最近更新 更多