Acabei de tentar instalar lua-resty-auto-ssl usando o comando luarocks abaixo:
sudo luarocks install lua-resty-auto-ssl
Mas ainda está usando a versão 0.5.0 desidratada que tem um bug de obter o cabeçalho Replay-Nonce do letsencrypt durante a validação. Tenho que atualizar o arquivo desidratado para que funcione!
Podemos atualizar o repositório luarocks?
De acordo com um post no fórum letsencrypt, letsencrypt mudaram seu CDN ontem, o que está causando problemas com a versão 0.5.0 do desidratado.
O lançamento planejado de 0.13.0 parece incluir 0.6.5 de desidratado, que supostamente corrige esse problema.
Obrigado @ im-erikjohansson.
Para qualquer pessoa que esteja enfrentando um problema semelhante, você precisará atualizar o arquivo 'desidratado' localizado em '/ usr / local / openresty / luajit / bin / resty-auto-ssl / desidratado'.
Atualize as seguintes linhas:
REAL_LICENSE="$(http_request head "${CA_TERMS}" | (grep Location: || true) | awk -F ': ' '{print $2}' | tr -d '\n\r')"
para
REAL_LICENSE="$(http_request head "${CA_TERMS}" | (grep -i Location: || true) | awk -F ': ' '{print $2}' | tr -d '\n\r')"
E
# 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
para
# 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 obrigado por essa solução temporária perfeita.
Alguma ideia de quando o lançamento do 0.13.0 está agendado?
A versão 0.13.0 precisa ser lançada o mais rápido possível. Algo que eu possa fazer para ajudar com isso?
@GUI você pode
Desidratado consertou isso
Isso deve ser de alta prioridade. Não quero ser exigente nem nada, pois sei quanto trabalho dá para manter projetos de código aberto, mas por favor, libere uma nova versão desta, pois não é mais possível emitir novos certificados SSL.
Caso alguém execute isso em Docker Containers como nós, implantamos uma correção como esta:
# 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
Obrigado @ronaldgetz pela correção.
Legal, também consertou isso do meu lado
Details:
{
"type": "urn:acme:error:badNonce",
"detail": "JWS has no anti-replay nonce",
"status": 400
}
Desculpem as dores de cabeça causadas pelo atraso nisso a todos! A v0.13.0 foi lançada, incluindo a versão mais recente do desidratado empacotado. Avise se você ainda estiver vendo problemas com a nova versão.
E obrigado a todos por relatar isso e as soluções temporárias!
@GUI Obrigado por seu rápido lançamento da nova versão fixa. Definitivamente, não é comum os mantenedores reagirem tão rápido. Você fez um ótimo trabalho aqui. “Então, obrigado novamente.
Aqui estão as alterações de
--- 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
Comentários muito úteis
Desculpem as dores de cabeça causadas pelo atraso nisso a todos! A v0.13.0 foi lançada, incluindo a versão mais recente do desidratado empacotado. Avise se você ainda estiver vendo problemas com a nova versão.
E obrigado a todos por relatar isso e as soluções temporárias!