在免費(fèi)SSL證書更新報(bào)告發(fā)現(xiàn)錯誤,可以用本文的辦法解決,官方技術(shù)翻譯
故障現(xiàn)象:
Nonce is empty. Exiting. dig output of acme-v01.api.letsencrypt.org
When creating a certificate, if you get the error:
Getting challenge for server.yourhost.com from acme-server...
Nonce is empty. Exiting. dig output of acme-v01.api.letsencrypt.org:
api.letsencrypt.org.edgekey.net.
e981.dscb.akamaiedge.net.
1.2.3.4
Full nonce request output:
報(bào)告顯示這可能是由于
"FULL_NONCE="`${CURL} ${CURL_OPTIONS} --silent -I ${API}/directory`": /usr/local/bin/curl --connect-timeout 15 -k -I https://acme-v01.api.letsencrypt.org/directory
引發(fā)錯誤
curl: (43) CURLOPT_SSL_VERIFYHOST no longer supports 1 as value!
這可能意味著您的curl版本比較舊,應(yīng)該進(jìn)行更新。 您可以使用custombuild做到這一點(diǎn):
cd /usr/local/directadmin/custombuild
./build update
./build curl
由于類似的報(bào)告與針對基于RPM的curl庫的CustomBuild curl鏈接有關(guān),例如:
[root@server scripts]# /usr/local/bin/curl --connect-timeout 15 -k -I https://acme-v01.api.letsencrypt.org/directory
curl: (48) An unknown option was passed in to libcurl
[root@server scripts]# ldd /usr/local/bin/curl | grep curl
libcurl.so.4 => /lib64/libcurl.so.4 (0x00007fdd1411a000)
where it should be /usr/local/lib/libcurl.so.4.
為了解決這個(gè)問題,remove the libcurl-devel rpm, re-compile curl and run ldconfig
rpm -e libcurl-devel
cd /usr/local/directadmin/custombuild
./build curl
ldconfig
并確認(rèn):
[root@server custombuild]# ldd /usr/local/bin/curl | grep curl
libcurl.so.4 => /usr/local/lib/libcurl.so.4 (0x00007f17c3cd5000)
報(bào)告的Debian / Ubuntu解決
方案
Edit
/etc/ld.so.conf
并更改路徑的順序,因此/usr/local/lib更高,因此文件如下所示:
/usr/local/lib/
include /etc/ld.so.conf.d/*.conf
保存,然后運(yùn)行
ldconfig
我們尚未對此進(jìn)行測試,因?yàn)樗赡軙绊懴到y(tǒng)二進(jìn)制文件使用的庫。 在注銷當(dāng)前ssh會話之前,請確保對所有內(nèi)容進(jìn)行全面測試,尤其是sshd(重新啟動sshd
服務(wù)器并測試登錄名)。