Как я могу остановить сбой nginx, когда openresty выдает ошибку во время выполнения развертывания сертификата - PullRequest
0 голосов
/ 16 мая 2019

Мы используем openresty и пакет lua-resty-auto-ssl для генерации сертификатов из Lets Encrypt, но в последнее время сервер продолжает падать.Я предполагаю, что это срабатывает, когда сертификат пытается автоматически продлить, так как генерация сертификата в первый раз работает нормально ... ошибка, которую мы видим,

2019/05/12 08:25:24 [error] 2623#2623: *1024227 lua entry thread aborted: runtime error: ...sty/luajit/share/lua/5.1/resty/auto-ssl/servers/hook.lua:40: assertion failed!
stack traceback:
coroutine 0:
    [C]: in function 'assert'
        ...sty/luajit/share/lua/5.1/resty/auto-ssl/servers/hook.lua:40: in function 'server'
        .../local/openresty/luajit/share/lua/5.1/resty/auto-ssl.lua:99: in function 'hook_server'
        content_by_lua(nginx.conf:194):2: in function <content_by_lua(nginx.conf:194):1>, client: 127.0.0.1, server: , request: "POST /deploy-cert HTTP/1.1", host: "127.0.0.1:8999"

Из того, что я вижу в ошибке, это не удаетсяУтвердите что-то, когда пытаетесь развернуть сертификат, который может быть любой из 4 вещей

assert(params["domain"])
assert(params["fullchain"])
assert(params["privkey"])
assert(params["expiry"])

Я немного застрял в том, что я могу сделать, это бесполезно, если сервер отключается при использовании.Это последняя ошибка, о которой сообщалось до того, как сервер отключился, так что я думаю, в чем причина?но не уверен на 100%.

Есть ли где-нибудь, где я могу найти дополнительную информацию о причинах сбоя?Я новичок в nginx / openresty, так что немного шарил в своем раунде.Кто-нибудь сталкивался с подобной проблемой?

1 Ответ

0 голосов
/ 16 мая 2019

Оберните все это в функцию и вызовите ее с помощью pcall или xpcall и добавьте некоторую логику для устранения ошибки.

...