Je viens d'essayer d'installer lua-resty-auto-ssl à l'aide de la commande luarocks ci-dessous :
sudo luarocks install lua-resty-auto-ssl
Mais il utilise toujours la version 0.5.0 déshydratée qui a un bogue d'obtention de l'en-tête Replay-Nonce deletsencrypt lors de la validation. Je dois mettre à jour le fichier déshydraté pour que cela fonctionne !
Pouvons-nous mettre à jour le repo luarocks ?
Selon un article publié sur les forums Letsencrypt, Letsencrypt a changé son CDN hier, ce qui pose des problèmes avec la version 0.5.0 de déshydraté.
La version 0.13.0 prévue semble inclure 0.6.5 de déshydraté, ce qui est censé résoudre ce problème.
Merci @im-erikjohansson.
Pour toute personne confrontée à un problème similaire, vous devrez mettre à jour le fichier "déshydraté" situé dans " /usr/local/openresty/luajit/bin/resty-auto-ssl/dehydrated".
Mettez à jour les lignes suivantes :
REAL_LICENSE="$(http_request head "${CA_TERMS}" | (grep Location: || true) | awk -F ': ' '{print $2}' | tr -d '\n\r')"
à
REAL_LICENSE="$(http_request head "${CA_TERMS}" | (grep -i Location: || true) | awk -F ': ' '{print $2}' | tr -d '\n\r')"
ET
# Retrieve nonce from acme-server
if [[ ${API} -eq 1 ]]; then
nonce="$(http_request head "${CA}" | grep Replay-Nonce: | awk -F ': ' '{print $2}' | tr -d '\n\r')"
else
nonce="$(http_request head "${CA_NEW_NONCE}" | grep Replay-Nonce: | awk -F ': ' '{print $2}' | tr -d '\n\r')"
fi
à
# Retrieve nonce from acme-server
if [[ ${API} -eq 1 ]]; then
nonce="$(http_request head "${CA}" | grep -i Replay-Nonce: | awk -F ': ' '{print $2}' | tr -d '\n\r')"
else
nonce="$(http_request head "${CA_NEW_NONCE}" | grep -i Replay-Nonce: | awk -F ': ' '{print $2}' | tr -d '\n\r')"
fi
@ronaldgetz merci pour cela, solution temporaire parfaite.
Une idée de la date de sortie de la 0.13.0 ?
La version 0.13.0 doit être publiée dès que possible. Quelque chose que je pourrais faire pour aider avec cela?
@GUI pouvez-vous nous en
Déshydraté fixe que
Cela devrait être prioritaire. Je ne veux pas être exigeant ou quoi que ce soit car je sais combien de travail il faut pour maintenir des projets Open Source, mais veuillez publier une nouvelle version de celui-ci, car aucun nouveau certificat SSL ne peut plus être émis.
Au cas où quelqu'un l'exécuterait sur des conteneurs Docker comme nous le faisons, nous avons déployé un correctif comme celui-ci :
# Temporary fix for https://github.com/GUI/lua-resty-auto-ssl/issues/192
RUN sed -i 's/grep Location/grep -i Location/g' /usr/local/openresty/luajit/bin/resty-auto-ssl/dehydrated && \
sed -i 's/grep Replay/grep -i Replay/g' /usr/local/openresty/luajit/bin/resty-auto-ssl/dehydrated
Merci @ronaldgetz pour la correction.
Cool, ça a aussi réglé ça de mon côté
Details:
{
"type": "urn:acme:error:badNonce",
"detail": "JWS has no anti-replay nonce",
"status": 400
}
Désolé pour les maux de tête causés par le retard sur ce tout le monde ! La v0.13.0 est maintenant publiée et inclut la nouvelle version de déshydraté. Faites un cri si vous rencontrez toujours des problèmes avec la nouvelle version.
Et merci à tous d'avoir signalé cela et les solutions de contournement temporaires !
@GUI Merci pour votre publication rapide de la nouvelle version corrigée. Ce n'est certainement pas courant que les mainteneurs réagissent aussi vite. Vous avez fait un excellent travail ici. Alors merci encore.
Voici les modifications de @ronaldgetz sous forme de correctif pour une correction plus facile :
--- luajit/bin/resty-auto-ssl/dehydrated 2019-10-23 16:05:48.322378013 +0200
+++ luajit/bin/resty-auto-ssl/dehydrated 2019-10-23 16:08:12.359383225 +0200
@@ -296,7 +296,7 @@
else
# Check if private account key exists, if it doesn't exist yet generate a new one (rsa key)
if [[ ! -e "${ACCOUNT_KEY}" ]]; then
- REAL_LICENSE="$(http_request head "${CA_TERMS}" | (grep Location: || true) | awk -F ': ' '{print $2}' | tr -d '\n\r')"
+ REAL_LICENSE="$(http_request head "${CA_TERMS}" | (grep -i Location: || true) | awk -F ': ' '{print $2}' | tr -d '\n\r')"
if [[ -z "${REAL_LICENSE}" ]]; then
printf '\n' >&2
printf 'Error retrieving terms of service from certificate authority.\n' >&2
@@ -523,9 +523,9 @@
# Retrieve nonce from acme-server
if [[ ${API} -eq 1 ]]; then
- nonce="$(http_request head "${CA}" | grep Replay-Nonce: | awk -F ': ' '{print $2}' | tr -d '\n\r')"
+ nonce="$(http_request head "${CA}" | grep -i Replay-Nonce: | awk -F ': ' '{print $2}' | tr -d '\n\r')"
else
- nonce="$(http_request head "${CA_NEW_NONCE}" | grep Replay-Nonce: | awk -F ': ' '{print $2}' | tr -d '\n\r')"
+ nonce="$(http_request head "${CA_NEW_NONCE}" | grep -i Replay-Nonce: | awk -F ': ' '{print $2}' | tr -d '\n\r')"
fi
# Build header with just our public key and algorithm information
Commentaire le plus utile
Désolé pour les maux de tête causés par le retard sur ce tout le monde ! La v0.13.0 est maintenant publiée et inclut la nouvelle version de déshydraté. Faites un cri si vous rencontrez toujours des problèmes avec la nouvelle version.
Et merci à tous d'avoir signalé cela et les solutions de contournement temporaires !