Я просто попытался установить lua-resty-auto-ssl, используя команду luarocks ниже:
sudo luarocks install lua-resty-auto-ssl
Но он все еще использует обезвоженную версию 0.5.0, в которой есть ошибка получения заголовка Replay-Nonce из letsencrypt во время проверки. Мне нужно обновить обезвоженный файл, чтобы он заработал!
Можем ли мы обновить репозиторий luarocks?
Согласно сообщению на форумах letsencrypt, letsencrypt вчера изменил свой CDN, что вызывает проблемы с обезвоженной версией 0.5.0.
Планируемый выпуск 0.13.0 будет включать 0.6.5 обезвоженного, который, как говорят, решит эту проблему.
Спасибо @ im-erikjohansson.
Что касается тех, кто сталкивается с подобной проблемой, вам необходимо обновить «обезвоженный» файл, расположенный в «/ usr / local / openresty / luajit / bin / resty-auto-ssl / dehydrated».
Обновите следующие строки:
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')"
И
# 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, спасибо за это, идеальное временное решение.
Есть идеи, когда планируется выпуск 0.13.0?
Релиз 0.13.0 необходимо выпустить как можно скорее. Что я могу сделать, чтобы помочь с этим?
@GUI, можешь ли ты
Обезвоженный фиксированный, что
Это должно быть приоритетом. Я не хочу требовать чего-либо, так как знаю, сколько работы требуется для поддержки проектов с открытым исходным кодом, но, пожалуйста, выпустите новую версию этого проекта, так как новые сертификаты SSL больше не могут быть выпущены.
Если кто-то запускает это в контейнерах Docker, как мы, мы развернули такое исправление:
# 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
Спасибо @ronaldgetz за исправление.
Круто, и это исправлено на моей стороне
Details:
{
"type": "urn:acme:error:badNonce",
"detail": "JWS has no anti-replay nonce",
"status": 400
}
Приносим извинения за головную боль, вызванную задержкой с этим всем! Теперь выпущена v0.13.0, которая включает в себя более новую версию dehydrated в комплекте. Сообщите, если вы все еще видите какие-либо проблемы с новым выпуском.
И спасибо всем за сообщение об этом и за временные обходные пути!
@GUI Спасибо за быстрый выпуск новой исправленной версии. Определенно, что мейнтейнеры не так быстро реагируют. Вы проделали большую работу здесь. 👍Так что еще раз спасибо.
Вот изменения @ronaldgetz в качестве патча для более легкого исправления:
--- 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
Самый полезный комментарий
Приносим извинения за головную боль, вызванную задержкой с этим всем! Теперь выпущена v0.13.0, которая включает в себя более новую версию dehydrated в комплекте. Сообщите, если вы все еще видите какие-либо проблемы с новым выпуском.
И спасибо всем за сообщение об этом и за временные обходные пути!