【发布时间】:2016-09-06 04:50:51
【问题描述】:
我第一次轻松安装了 SSL 证书,但无法更新。
我安排终端命令每月自动更新证书,但它响应错误。手动运行时我也得到相同的响应。
终端命令
curl -X POST https://forge.laravel.com/api/servers/<serverNumber>/sites/<siteNumber>/ssl/renew?api_token=<my-token>
回应
Cloning into 'letsencrypt1462928414'...
nginx stop/waiting
nginx start/running, process 10734
# INFO: Using main config file /root/letsencrypt1462928414/config.sh
+ Generating account key...
+ Registering account key with letsencrypt...
Processing donniebrandt.com with alternative names: www.donniebrandt.com
+ Signing domains...
+ Creating new directory /root/letsencrypt1462928414/certs/donniebrandt.com ...
+ Generating private key...
+ Generating signing request...
+ Requesting challenge for donniebrandt.com...
+ Requesting challenge for www.donniebrandt.com...
+ Responding to challenge for donniebrandt.com...
ERROR: Challenge is invalid! (returned: invalid) (result: {"type":"http-01","status":"invalid","error":{"type":"urn:acme:error:unauthorized","detail":"Invalid response from http://donniebrandt.com/.well-known/acme-challenge/JdG5PtzEcqZMMDVhx2VNN5Wmvldwtl84B6q3j1AQcP0 [104.18.50.184]: 526"},"uri":"https://acme-v01.api.letsencrypt.org/acme/challenge/S6oIx5ZFyzu80fkpjoCcAgVDp7p8aLo6UGLLt7flP-g/81801388","token":"JdG5PtzEcqZMMDVhx2VNN5Wmvldwtl84B6q3j1AQcP0","keyAuthorization":"JdG5PtzEcqZMMDVhx2VNN5Wmvldwtl84B6q3j1AQcP0.0N_sDHF2rXqfyPHGi4ZmXDAkrmwbMJ-S_ZghYPtSN2g","validationRecord":[{"url":"http://donniebrandt.com/.well-known/acme-challenge/JdG5PtzEcqZMMDVhx2VNN5Wmvldwtl84B6q3j1AQcP0","hostname":"donniebrandt.com","port":"80","addressesResolved":["104.18.50.184","104.18.51.184"],"addressUsed":"104.18.50.184"},{"url":"https://donniebrandt.com/.well-known/acme-challenge/JdG5PtzEcqZMMDVhx2VNN5Wmvldwtl84B6q3j1AQcP0","hostname":"donniebrandt.com","port":"443","addressesResolved":["104.18.50.184","104.18.51.184"],"addressUsed":"104.18.50.184"}]})
我还验证了.well-known/acme-challenge目录存在,但并没有改变错误。
【问题讨论】:
-
你到底在通过 cron 运行什么命令?您是否在请求续订之前停止了 NGINX 服务?证书有效期为 90 天,续订仅在到期后 30 天内可用。您是否使用
--force-renewal标志来绕过此限制? -
发布你用来更新的命令(以及用来颁发证书的命令)
-
抱歉,我的回复延迟了。 @JrBenito我已经在问题描述中添加了更新命令,但我不知道初始发布的命令,因为它是由 Forge 自动执行的。 @maiorano84 我没有关闭 NGINX 或使用
--force-renewal。我会尝试这些并发布结果。 -
@Donnie 我编辑了您的问题以删除您不应发布的令牌!但是我的编辑需要同行评审,所以我建议您自己删除令牌,而不是等待评审(放置
)。另一个建议是在 api 服务器上撤销这个令牌并发布一个新的,因为就像我看到的那样,其他人可能也有。 -
@maiorano84 我停止了 NGINX 并添加了
--force-renewal标志is unknown。我删除了标志并得到了与以前相同的错误。
标签: laravel ssl forge lets-encrypt