Lua-resty-auto-ssl: рд▓реЙрдХрд┐рдВрдЧ рд╕рдорд╕реНрдпрд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 1 рдлрд╝рд░ре░ 2017  ┬╖  20рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: auto-ssl/lua-resty-auto-ssl

рдореБрдЭреЗ рд╣рдорд╛рд░реЗ (рд░рд┐рд╡рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА) nginx рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИ рдХрд┐ рд╡реЗ рдХреНрд░реИрд╢ рд╣реЛ рд░рд╣реЗ рд╣реИрдВред рд╡реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдирд╛ рдмрдВрдж рдХрд░ рджреЗрддреЗ рд╣реИрдВ, рдФрд░ рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╡реЗ рдЗрд╕ рд╕реНрдерд┐рддрд┐ рд╕реЗ рдмрд╛рд╣рд░ рдЖ рдЧрдП рд╣реИрдВред рдпреЗ рд╕рд░реНрд╡рд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рдПрдХ рдЙрдЪреНрдЪ рдорд╛рддреНрд░рд╛ (>5 рдорд┐рд▓рд┐рдпрди рдкреНрд░рддрд┐ рджрд┐рди) рд╕реЗ рдирд┐рдкрдЯрддреЗ рд╣реИрдВред

рдкрд┐рдЫрд▓реЗ рдХреБрдЫ рджрд┐рдиреЛрдВ рд╕реЗ рдореИрдВ рдереЛрдбрд╝рд╛ рдиреБрдХрд╕рд╛рди рдореЗрдВ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдЬрдм рднреА рдореБрдЭреЗ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рджреНрд╡рд╛рд░рд╛ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рддрд░реНрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдбреЙрдХрд░ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдирд╛, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдПрдХ рд╕рд╣рд╛рдпрдХ рдХреНрд░реЙрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбрд╛рд▓рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдЬреЛ рдЬрд╛рдВрдЪ рдХрд░реЗрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ nginx рдЕрднреА рднреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗ рд░рд╣рд╛ рдерд╛ рдФрд░ рдпрджрд┐ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рддреЛ рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕реЗ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░реЗрдВред

рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╢реБрд░реВ рдореЗрдВ рдореИрдВ рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░ рд░рд╣рд╛ рдерд╛, рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдбрд┐рдмрдЧрд┐рдВрдЧ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдХреЛрдИ рд░реВрдк рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рдерд╛ - рд▓реЙрдЧрд┐рдВрдЧ рдмрд╕ рд░реБрдХ рдЬрд╛рдПрдЧреАред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ nginx рдХреЛ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдкрд╛рд╕ рд▓реЙрдЧ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИрдВ:

2017/02/01 01:14:16 [alert] 489#0: worker process 501 exited on signal 9
2017/02/01 01:14:16 [alert] 489#0: shared memory zone "auto_ssl" was locked by 501
2017/02/01 01:14:16 [alert] 489#0: worker process 502 exited on signal 9

рдореЗрд░реЗ рдкрд╛рд╕ Google рдкрд░ рдерд╛ рдФрд░ рдПрдХрдорд╛рддреНрд░ рд╕рдВрджрд░реНрдн рдЬреЛ рдореБрдЭреЗ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ рд╡рд╣ рд╣реИ https://github.com/18F/api.data.gov/issues/325 - рд╣рд╛рд▓рд╛рдВрдХрд┐ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╛рдкреНрддрд┐ рдХреЛ рдЬрдЧрд╣ рджреА рдЧрдИ рдереА, рдРрд╕рд╛ рдкреНрд░рддреАрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рд╣рдо рдЕрдкрдиреЗ рд╕реЗрдЯрдЕрдк рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо (рдЦрд░рд╛рдм рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рдХрд╛рд░рдг) рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд▓рдЧрднрдЧ 7 рдШрдВрдЯреЗ рдХреЗ рдбрд╛рдЙрдирдЯрд╛рдЗрдо рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реБрдП рд╣реИрдВред

рдореБрдЭреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдореИрдВ рдПрдХ рд╣реА рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рднреА рдЗрд╕ рдмрдЧ рдХреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдлрд┐рд░ рд╕реЗ рдирд╣реАрдВ рдмрдирд╛ рд╕рдХрддрд╛ред

рдореБрдЭреЗ рдереЛрдбрд╝рд╛ рдиреБрдХрд╕рд╛рди рд╣реБрдЖ рд╣реИ, рд╣рдорд╛рд░реА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреБрдирд░рд╛рд░рдВрдн рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдиреЗ рдЕрднреА рдХреЗ рд▓рд┐рдП рдореБрджреНрджреЛрдВ рдХреЛ рд╕реБрд▓рдЭрд╛ рд▓рд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рджреЗрдЦрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рд╡рд┐рдЪрд╛рд░ рд╣реИрдВред рдореБрдЭреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд▓реЙрдЧрд┐рдВрдЧ рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдФрд░ рдбреАрдмрдЧ рд▓реЙрдЧ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреА (рдореИрдВ рдЗрд╕реЗ рдЕрдкрдиреЗ рдЙрддреНрдкрд╛рджрди рд╕рд░реНрд╡рд░ рдореЗрдВ рдЪрд╛рд▓реВ рдХрд░рдиреЗ рд╕реЗ рдереЛрдбрд╝рд╛ рдбрд░ рдЧрдпрд╛ рд╣реВрдВ)ред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЙрддреНрдкрд╛рджрди рдореЗрдВ рднреА рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ - рдзрдиреНрдпрд╡рд╛рдж @koszik рдФрд░ alред рдмрд╕ рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:

OpenResty рдХреЛ >1.15.8.1 рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ

рдпрд╣ рдЗрддрдирд╛ рд╣рд╛рдирд┐рдХрд╛рд░рдХ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЬрд▓реНрдж рд╣реА f66bb61f11a654f66d35dd793ceaf0293d9c0f46 рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдПрдХ рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреЗ рдмрдЬрд╛рдп рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рд╕рднреА 20 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЖрдЙрдЪ, рдпрд╣ рд╕реБрдирдХрд░ рдЦреЗрдж рд╣реИ рдХрд┐ рдПрдХ рдЖрдЙрдЯреЗрдЬ рд╣реЛ рдЧрдпрд╛!

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдЗрдВрд╕реНрдЯрд╛рд▓реЗрд╢рди рдореЗрдВ рдРрд╕рд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЕрдЪреНрдЫреА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдЯреНрд░реИрдлрд╝рд┐рдХ рдорд┐рд▓рддрд╛ рд╣реИ (рдкрд┐рдЫрд▓реЗ рдорд╛рд░реНрдЪ рдХреА рдШрдЯрдирд╛ рдХреЗ рдмрд╛рдж рд╕реЗ рдЬрд┐рд╕рдХрд╛ рдЖрдкрдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ)ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХреБрдЫ рдЗрд╕реА рддрд░рд╣ рдХрд╛ рдПрдХ рдФрд░ рдореБрджреНрджрд╛ рдерд╛ рдЬреЛ #29 рдореЗрдВ рд░рд┐рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд╣рд╛рдБ рд╣рдордиреЗ рдПрдХ рдРрд╕рд╛ рдореБрджреНрджрд╛ рддрдп рдХрд┐рдпрд╛ рдерд╛ рдЬреЛ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭрд╛рдпрд╛ рди рд╣реЛред рд▓реЗрдХрд┐рди рд╡рд╣ рдореБрджреНрджрд╛ рднреА рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдпрд╣ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдерд╛ рдЬрдм рдкрдВрдЬреАрдХрд░рдг рд╣реБрдЖ рдерд╛)ред

рдЗрд╕реЗ рдбреАрдмрдЧ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕рдХреА рддрд╣ рддрдХ рдЬрд╛рдирд╛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдореЗрд░реЗ рдХреБрдЫ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреНрд░рд╢реНрди рд╣реИрдВ:

  • рдЖрдк рд▓реБрдЖ-рд░реЗрд╕реНрдЯреА-рдСрдЯреЛ-рдПрд╕рдПрд╕рдПрд▓ рдХрд╛ рдХреМрди рд╕рд╛ рд╕рдВрд╕реНрдХрд░рдг рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ?
  • рдХреНрдпрд╛ рдЖрдк рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рд▓реБрдЖ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде OpenResty рдпрд╛ nginx рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ?
  • рдЖрдк OpenResty рдпрд╛ nginx+lua рдХреЗ рдХреМрди рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ?
  • рд▓реБрдЖ-рд░реЗрд╕реНрдЯреА-рдСрдЯреЛ-рдПрд╕рдПрд╕рдПрд▓ (рд░реЗрдбрд┐рд╕, рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо, рдХреБрдЫ рдФрд░) рдХреЗ рд╕рд╛рде рдЖрдк рдХрд┐рд╕ рд╕реНрдЯреЛрд░реЗрдЬ рдореИрдХреЗрдирд┐рдЬреНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?
  • рдЪреАрдЬреЗрдВ рдХрд┐рддрдиреА рдмрд╛рд░ рд▓рдЯрдХрддреА рд╣реИрдВ? рдХреНрдпрд╛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ рддрднреА рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдирдП рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкрдВрдЬреАрдХреГрдд рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╣реЛрдВ рдпрд╛ рдирд╡реАрдиреАрдХрд░рдг рд╣реЛ рд░рд╣реЗ рд╣реЛрдВ, рдпрд╛ рдпрд╣ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ?
  • рдХреНрдпрд╛ рдЖрдк nginx рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓реЛрдб рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рдорд╛рд╕реНрдЯрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ SIGHUP рднреЗрдЬ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдорд╛рд╕реНрдЯрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдирдП рд╢реНрд░рдорд┐рдХреЛрдВ рдХреЛ рдкреИрджрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ)?
  • рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрд┐рддрдиреЗ nginx рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ ( worker_processes nginx config рдореЗрдВ рд╕реЗрдЯрд┐рдВрдЧ)?
  • рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдЕрдиреНрдп nginx рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ (рдпрджрд┐ рдЖрдк OpenResty рдкрд░ рд╣реИрдВ рддреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ OpenResty рдХреЗ рд╕рд╛рде рдЖрдиреЗ рд╡рд╛рд▓реЗ рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╕реЗ рдкрд░реЗ)?

lua-resty-auto-ssl 0.10.3-1 luarocks . рд╕реЗ рд╣реИ
рд╣рдо OpenResty 1.11.2.2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

nginx version: openresty/1.11.2.2
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC)
built with OpenSSL 1.0.2h  3 May 2016
TLS SNI support enabled
configure arguments: --prefix=/usr/local/openresty/nginx --with-cc-opt=-O2 --add-module=../ngx_devel_kit-0.3.0 --add-module=../echo-nginx-module-0.60 --add-module=../xss-nginx-module-0.05 --add-module=../ngx_coolkit-0.2rc3 --add-module=../set-misc-nginx-module-0.31 --add-module=../form-input-nginx-module-0.12 --add-module=../encrypted-session-nginx-module-0.06 --add-module=../srcache-nginx-module-0.31 --add-module=../ngx_lua-0.10.7 --add-module=../ngx_lua_upstream-0.06 --add-module=../headers-more-nginx-module-0.32 --add-module=../array-var-nginx-module-0.05 --add-module=../memc-nginx-module-0.17 --add-module=../redis2-nginx-module-0.13 --add-module=../redis-nginx-module-0.3.7 --add-module=../rds-json-nginx-module-0.14 --add-module=../rds-csv-nginx-module-0.07 --with-ld-opt=-Wl,-rpath,/usr/local/openresty/luajit/lib --with-http_ssl_module --with-http_perl_module --with-http_v2_module --with-http_secure_link_module --add-module=/nginx-build/openresty-1.11.2.2/../testcookie-nginx-module --add-module=/nginx-build/openresty-1.11.2.2/../lua-upstream-cache-nginx-module --add-module=/nginx-build/openresty-1.11.2.2/../nginx-module-vts --with-openssl=/openssl

рдЕрднреА рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╕рд░реНрд╡рд░ рдЬрд┐рд╕ рдЙрдк рдбреЛрдореЗрди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рд╡рд╣ рдЕрд▓рдЧ рд╣реИред
рджреБрд░реНрдШрдЯрдирд╛ рд╣реЛрдиреЗ рдкрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд▓рдЧрддрд╛ рд╣реИ, 3 рдШрдВрдЯреЗ рд╕реЗ рд▓реЗрдХрд░ рдЕрдЪреНрдЫреЗ 3 рджрд┐рдиреЛрдВ рддрдХ рдХреБрдЫ рднреАред
Nginx atm рдХреЛ рдкреБрдирдГ рд▓реЛрдб рдирд╣реАрдВ рдХрд░рдирд╛, рдмрд╕ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдирд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рдЖрдЬрд╝рдорд╛рдЙрдВрдЧрд╛ рдФрд░ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред
рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ рдореИрдВ 1 рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЗрд╕реЗ 2 рддрдХ рдмрдврд╝рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЬрдм рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдкрдбрд╝реЗрдЧрд╛ред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЧреИрд░-рдУрдкрдирд░реЗрд╕реНрдЯреА рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛:

рдореИрдВ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрднреА рддрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛрдб рдореЗрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рд▓реБрдЖ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рджреЗрд░реА рд╕реЗ рдлреЙрд▓реЛрдЕрдк рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ! рдХреБрдЫ рдФрд░ рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореЗрд░реЗ рдкрд╛рд╕ рдХреБрдЫ рд╕рд┐рджреНрдзрд╛рдВрдд рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ:

  • рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк "рд╕рд┐рдЧреНрдирд▓ 9 рдкрд░ рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗ" рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ, рдпрд╣ рд╕рдВрдХреЗрдд рджреЗ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЖрдЙрдЯ-рдСрдл-рдореЗрдореЛрд░реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдорд╛рд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдЖрдХреНрд░рд╛рдордХ рд░реВрдк рд╕реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдорд╛рд░ рд░рд╣рд╛ рд╣реИ: http://raspberrypi.stackexchange.com/questions/40883 /nginx-рдЖрдЙрдЯ-рдСрдл-рдореЗрдореЛрд░реА-рдХрд┐рд▓-рдкреНрд░реЛрд╕реЗрд╕
  • рдЬрдм рдХреЛрдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЬрд╛рддреА рд╣реИ рдпрд╛ рдЗрд╕ рддрд░рд╣ рдЬрдмрд░рди рдорд╛рд░ рджреА рдЬрд╛рддреА рд╣реИ, рддреЛ рдпрд╣ nginx рдХреЛ рдпрд╣ рд╕реЛрдЪрдХрд░ рд▓реЗ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╕рд╛рдЭрд╛ рд╕реНрдореГрддрд┐ рдЕрднреА рднреА рдореГрдд рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рджреНрд╡рд╛рд░рд╛ рдмрдВрдж рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ 501 рдкрд╣рд▓реЗ рдорд╛рд░ рджреА рдЬрд╛рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдпрд╣ рд╕реЛрдЪрддрд╛ рд╣реИ рдХрд┐ рд╕реНрдореГрддрд┐ рдХреЛ pid тАЛтАЛ501 рджреНрд╡рд╛рд░рд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдпрд╣ рдЧрддрд┐рд░реЛрдз рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

    • рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ nginx рдХреЛ рдХреНрд░реИрд╢ рдкрд░ рд╕рд╛рдЭрд╛ рдореЗрдореЛрд░реА рдХреЛ рдЕрдирд▓реЙрдХ рдХрд░рдирд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╕рд┐рдЧрдХрд┐рд▓ (9) рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдорд╛рд░реЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рд╕рднреА рджрд╛рдВрд╡ рдмрдВрдж рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ (рдЪреВрдВрдХрд┐ рд╕рд┐рдЧрдХрд┐рд▓ рдХрд╛ рдорддрд▓рдм рдЖрдорддреМрд░ рдкрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЬрдмрд░рди рдорд╛рд░рдирд╛ рд╣реИ рдФрд░ рд╕рдлрд╛рдИ рдХрд╛ рдХреЛрдИ рдореМрдХрд╛ рдирд╣реАрдВ рд╣реИ)ред

рддреЛ рдХреНрдпрд╛ рдЖрдк рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо-рд╕реНрддрд░реАрдп рд▓реЙрдЧ рдореЗрдВ рд╕реНрдореГрддрд┐ рдпрд╛ рдУрдо-рдХрд┐рд▓рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рджреЗрдЦрддреЗ рд╣реИрдВ? рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрди рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рдХреЛрдИ рдЕрдиреНрдп рдирд┐рдЧрд░рд╛рдиреА рд╣реИ рдЬреЛ рд╕реНрдореГрддрд┐ рд╡реГрджреНрдзрд┐ рдпрд╛ nginx рдореЗрдВ рд╕реНрдореГрддрд┐ рд░рд┐рд╕рд╛рд╡ рдХрд╛ рд╕рдВрдХреЗрдд рджреЗ рд╕рдХрддреА рд╣реИ? рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╣рдордиреЗ рдЕрдкрдиреЗ рдХрд┐рд╕реА рднреА рд▓реБрдЖ-рд░реЗрд╕реНрдЯреА-рдСрдЯреЛ-рдПрд╕рдПрд╕рдПрд▓ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдореЗрдВ рдХреЛрдИ рдореЗрдореЛрд░реА рд▓реАрдХ рджреЗрдЦрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдХреБрдЫ рдЕрдиреНрдп nginx рдореЙрдбреНрдпреВрд▓ рднреА рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛ рд╕рдХрддреЗ рд╣реИрдВ (рдЗрд╕рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рд╣реИ a рд▓реБрдЖ-рдЕрдкрд╕реНрдЯреНрд░реАрдо-рдХреИрд╢-nginx-рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдореЗрдореЛрд░реА рд▓реАрдХ)ред

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ - рдореЗрд░рд╛ рдорддрд▓рдм @GUI рдХреЛ рд╡рд╛рдкрд╕ рд╕реНрдкрд╖реНрдЯ рдХрд░рдирд╛ рдерд╛ рдХрд┐ рд╕рд┐рдЧреНрдирд▓ 9 рдкрд░ рдорд╛рд░реЗ рдЧрдП рдмрдЧ рд╕реЗ рдЬреБрдбрд╝рд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рдореБрдХрд╛рдмрд▓рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдирдмреВрдЭрдХрд░ nginx рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдорд╛рд░ рд░рд╣реЗ рд╣реИрдВред рдЗрди рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рдореЗрдореЛрд░реА рдХреЗ рд╕рд╛рде рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рдЙрдирдХреЗ рдкрд╛рд╕ рд▓рдЧрднрдЧ 2GB рдореЗрдореЛрд░реА рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЫреЛрдЯреА рд░рд╛рд╢рд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдмрд╛рдХреА рдЬреНрдпрд╛рджрд╛рддрд░ рдХреИрд╢ рд╣реИред рдХреЛрдИ OOM dmesg рдкрд░ рдирд╣реАрдВ рдорд╛рд░рддрд╛ рд╣реИред

рдореБрдЭреЗ рдпрд╣ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЖрдЬрдорд╛рдиреЗ рдФрд░ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдореЙрдбреНрдпреВрд▓ рд╣рдЯрд╛ рджрд┐рдП рд╣реИрдВ, рдмрд╣рд┐рд╖реНрдХреГрдд lua-upstream-cache-nginx-module рдФрд░ рд╣рдЯрд╛рдП рдЧрдП рдкреЗрдЬрд╕реНрдкреЗрдб, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ рдорджрдж рдирд╣реАрдВ рдорд┐рд▓реА рд╣реИред

рдореЗрд░реЗ рдкрд╛рд╕ рдХреБрдЫ рдФрд░ рддреНрд░реБрдЯрд┐ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд╣реИрдВ рдЬреЛ рд╕рд╣рд╛рдпрдХ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рдореИрдВ рдХреЛрд╢рд┐рд╢ рдХрд░реВрдБрдЧрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╢реАрдШреНрд░ рд╣реА рд╕рд░реНрд╡рд░ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реВрдБрдЧрд╛ред

@ajmgh : рдЕрдЧрд░ рдпрд╣ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ рддреЛ рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдХреБрдЫ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдЕрдЬреАрдм рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЬрдиреНрдо рджреЗ рд╕рдХрддреА рд╣реИрдВ рдпрджрд┐ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ lua_shared_dict рдореЗрдореЛрд░реА рдЖрдХрд╛рд░ рдмрд╣реБрдд рдХрдо рдерд╛: https://github.com /GUI/lua-resty-auto-ssl/issues/48#issuecomment -294397379

рддреЛ рдХреНрдпрд╛ рдЖрдк рдореЛрдЯреЗ рддреМрд░ рдкрд░ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдХрд┐рддрдиреЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╣реИрдВ, рдФрд░ рдЖрдкрдХреЗ nginx рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдХрд┐рддрдиреЗ рдмрдбрд╝реЗ lua_shared_dict auto_ssl рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рд╣реИрдВ? рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ рдЖрдк v0.10.6 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХрд╛ рднреА рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ 0.10.3 рдХреЗ рдмрд╛рдж рд╕реЗ рдХреБрдЫ рдЕрдкрдбреЗрдЯ рд╣реБрдП рд╣реИрдВ рдЬреЛ рдЗрд╕реЗ рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдпрджрд┐ рд╣рдо рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рд╣реИрдВ), рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдмреЗрд╣рддрд░ рддреНрд░реБрдЯрд┐ рдкреНрд░рдмрдВрдзрди рдФрд░ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред

рдореБрдЭреЗ рдмрд┐рд▓реНрдХреБрд▓ рд╡рд╣реА рддреНрд░реБрдЯрд┐ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИред
рдореИрдВ рд╕рд┐рд░реНрдл lua-resty-auto-ssl рдХреЛ рд╕рдВрд╕реНрдХрд░рдг 0.10.6-1 рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ lua_shared_dict auto_ssl_settings рд╕реЗ 1000m рддрдХ рдмрдврд╝рд╛рддрд╛ рд╣реВрдВ (рдЗрд╕реЗ 64k рдкрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ)ред
lua_shared_dict auto_ssl рд╡рд╣реА рд░рд╣рддрд╛ рд╣реИ: 1000m

рдмрд╕ рдпрд╣ рджреЗрдЦрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпреЗ рдкрд░рд┐рд╡рд░реНрддрди рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░ рджреЗрдВрдЧреЗ:/

@ajmgh рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд┐рдпрд╛?

@aiev auto_ssl_settings рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдЫреЛрдЯреА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдПрдХ рдмреВрд▓рд┐рдпрди рднреА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдмрджрд▓рдиреЗ рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝реЗрдЧрд╛ред рдкреНрд░рдорд╛рдгрдкрддреНрд░ auto_ssl рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВред рддреЛ рдХреГрдкрдпрд╛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЗрд╕реЗ рдмрдврд╝рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред

рдирд╣реАрдВ, рдирд╡реАрдирддрдо рдЕрдкрдбреЗрдЯ рд╣рдорд╛рд░реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдореИрдВрдиреЗ auto_ssl рдЖрдХрд╛рд░ рдХреЛ 8M рддрдХ рдмрдврд╝рд╛ рджрд┐рдпрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдЕрдзрд┐рдХ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдХреЗрд╡рд▓ рд▓рдЧрднрдЧ 10 рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХреЛрдИ рдкрд░рд┐рд╡рд░реНрддрди рдирд╣реАрдВ рджреЗрдЦрд╛ред

# Log entries after my script detects nginx is unresponsive and force kills it
2017/05/24 13:29:15 [alert] 462#0: worker process 474 exited on signal 9
2017/05/24 13:29:15 [alert] 462#0: worker process 475 exited on signal 9
2017/05/24 13:29:15 [alert] 462#0: shared memory zone "auto_ssl" was locked by 475

рдореИрдВрдиреЗ рдПрдХ рд╣реА рдореБрджреНрджреЗ рдХреЛ рдХрдИ рдмрд╛рд░ рдЕрдиреБрднрд╡ рдХрд┐рдпрд╛ рд╣реИред
рдореИрдВ luarocks рд╕реЗ OpenResty 1.11.2.3/4 рдФрд░ lua-resty-auto-ssl 0.11.0-1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рдЬрдм рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдкреНрд░рдХрдЯ рд╣реЛрддреА рд╣реИ, рддреЛ 100 рд╕реЗ рдЕрдзрд┐рдХ tcp рдХрдиреЗрдХреНрд╢рди CLOSE_WAIT рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЕрдЯрдХ рдЬрд╛рддреЗ рд╣реИрдВред

рд╣рдордиреЗ рднреА рдХрдИ рдмрд╛рд░ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдЕрдиреБрднрд╡ рдХрд┐рдпрд╛ рд╣реИред
nginx рд╕рдВрд╕реНрдХрд░рдг: рдУрдкрдирд░реЗрд╕реНрдЯреА/1.11.2.4
рд▓реБрдЖ-рд░реЗрд╕реНрдЯреА-рдСрдЯреЛ-рдПрд╕рдПрд╕рдПрд▓ 0.11.0-1
рдХрдИ CLOSE_WAIT рд░рд╛рдЬреНрдп рд╣реИрдВ, рдФрд░ nginx рдЕрдм рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рджреЗ рд╕рдХрддрд╛ рд╣реИред рдпрд╛ рддреЛ рд╣рдореЗрдВ CLOSE_WAIT рдХрдиреЗрдХреНрд╢рди рдХреЛ рдмрдВрдж рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдпрд╛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП docker рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

@ajmgh рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рдХрд░

рдпрд╣рд╛рдБ рд╣рдорд╛рд░рд╛ рд╕рд┐рд╕реНрдЯрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реИ

  • рдЖрдк рд▓реБрдЖ-рд░реЗрд╕реНрдЯреА-рдСрдЯреЛ-рдПрд╕рдПрд╕рдПрд▓ рдХрд╛ рдХреМрди рд╕рд╛ рд╕рдВрд╕реНрдХрд░рдг рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ?
    0.11.0-1
  • рдХреНрдпрд╛ рдЖрдк рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рд▓реБрдЖ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде OpenResty рдпрд╛ nginx рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ?
    рдЦреБрд▓рд╛рдкрди
  • рдЖрдк OpenResty рдпрд╛ nginx+lua рдХреЗ рдХреМрди рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ?
    рдЦреБрд▓рд╛рдкрди 1.11.2.4
  • рд▓реБрдЖ-рд░реЗрд╕реНрдЯреА-рдСрдЯреЛ-рдПрд╕рдПрд╕рдПрд▓ (рд░реЗрдбрд┐рд╕, рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо, рдХреБрдЫ рдФрд░) рдХреЗ рд╕рд╛рде рдЖрдк рдХрд┐рд╕ рд╕реНрдЯреЛрд░реЗрдЬ рдореИрдХреЗрдирд┐рдЬреНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?
    рд░реЗрдбрд┐рд╕
  • рдЪреАрдЬреЗрдВ рдХрд┐рддрдиреА рдмрд╛рд░ рд▓рдЯрдХрддреА рд╣реИрдВ? рдХреНрдпрд╛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ рддрднреА рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдирдП рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкрдВрдЬреАрдХреГрдд рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╣реЛрдВ рдпрд╛ рдирд╡реАрдиреАрдХрд░рдг рд╣реЛ рд░рд╣реЗ рд╣реЛрдВ, рдпрд╛ рдпрд╣ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ?
    рдпрд╣ рдмрд╣реБрдд рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд▓рдЧрддрд╛ рд╣реИред рдпрд╣ рдХрд▓ рд╣реА рд╣реБрдЖ рдФрд░ рд╣рдорд╛рд░реЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рейреж рдорд┐рдирдЯ рдХрд╛ рдбрд╛рдЙрдирдЯрд╛рдЗрдо рд╣реЛ рдЧрдпрд╛ред рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдпрд╣ 2 рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ рд╣реБрдЖ рдерд╛ред
  • рдХреНрдпрд╛ рдЖрдк nginx рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓реЛрдб рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рдорд╛рд╕реНрдЯрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ SIGHUP рднреЗрдЬ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдорд╛рд╕реНрдЯрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдирдП рд╢реНрд░рдорд┐рдХреЛрдВ рдХреЛ рдкреИрджрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ)?
    рд╣рдордиреЗ рдЕрднреА рд╕рднреА рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ
  • рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрд┐рддрдиреЗ nginx рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ (worker_processes nginx config рдореЗрдВ рд╕реЗрдЯрд┐рдВрдЧ)?
    2
  • рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдЕрдиреНрдп nginx рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ (рдпрджрд┐ рдЖрдк OpenResty рдкрд░ рд╣реИрдВ рддреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ OpenResty рдХреЗ рд╕рд╛рде рдЖрдиреЗ рд╡рд╛рд▓реЗ рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╕реЗ рдкрд░реЗ)?
    рдирд╣реАрдВ рд▓реБрдЖ-рд░реЗрд╕реНрдЯреА-рдСрдЯреЛ-рдПрд╕рдПрд╕рдПрд▓ рдПрдХрдорд╛рддреНрд░ рдкреНрд▓рдЧрдЗрди рд╣реИ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдпрд╛ рд╣реИ

@ronail рдирд╣реАрдВ, рд╣рд╛рд▓рд╛рдБрдХрд┐ рд╣рдордиреЗ рдЕрдкрдиреЗ рд░рд╛рдЙрдВрдбрд░реЛрдмрд┐рди рдкрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд░реНрд╡рд░ рдЬреЛрдбрд╝реЗ рд╣реИрдВ рдФрд░ рд╕рд╛рде рд╣реА рдПрдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреБрдирд░рд╛рд░рдВрдн рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ рдЬрдм рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реЛрддреА рд╣реИ рддреЛ рд╣рдордиреЗ рдЗрд╕реЗ рдмрд╣реБрдд рдХрдо рдХрд░ рджрд┐рдпрд╛ рд╣реИред

рдХреНрдпрд╛ рд╣рд░ рдХреЛрдИ рдбреЙрдХрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдЗрд╕ рдмрдЧ рдХрд╛ рдЕрдиреБрднрд╡ рдХрд░рддрд╛ рд╣реИ? рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд▓реБрдЖ/рдУрдкрдирд░реЗрд╕реНрдЯреА рдФрд░ рдбреЙрдХрд░ рдХреЗ рдорд┐рд╢реНрд░рдг рдХреЗ рд╕рд╛рде рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреБрдЫ рдЕрдЬреАрдм рдЪрд▓ рд░рд╣рд╛ рд╣реЛред

рдореИрдВ рдбреЛрдХрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ рдФрд░ рдореИрдВ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдореБрджреНрджрд╛ рд╣реИ рдЬрдм рдирд┐рд░реНрдЬрд▓рд┐рдд рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИред

рдореБрдЭреЗ рднреА рдЗрд╕реА рддрд░рд╣ рдХрд╛ рдореБрджреНрджрд╛ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ, рдЬреЗрдирдХрд┐рдВрд╕ рдХреЛ рд╣рд░ 30 рдорд┐рдирдЯ рдореЗрдВ рдУрдкрдирд░реЗрд╕реНрдЯреА рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рдирд╛ (рд╣рд░ рдШрдВрдЯреЗ рдпрд╛ рд▓рдЧрд╛рддрд╛рд░ рдХреНрд░реИрд╢ ...)

рдореЗрд░реЗ рдкрд╛рд╕ рдЙрдЪреНрдЪ рд╕реНрдореГрддрд┐ рд╕реАрдорд╛рдПрдВ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдЗрд╕рд╕реЗ рдорджрдж рдорд┐рд▓рддреА рд╣реИ рддреЛ рдореБрдЭреЗ LetsEncrypt рдкрд░ рдЕрд╕рдлрд▓ рд▓реЗрдЦ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЙрдЪрд┐рдд рджрд░ рд╕реАрдорд╛рдПрдВ рдорд┐рд▓ рд░рд╣реА рд╣реИрдВ?

рд╣рдореЗрдВ рдХрд▓ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдерд╛, рдФрд░ рд╣рдореЗрдВ рдпреЗ рд░рд┐рдкреЛрд░реНрдЯреЗрдВ рдорд┐рд▓реАрдВ (#43, #136) рдЬрд┐рдирдореЗрдВ рдХреЛрдИ рд╕рдВрдХреЗрдд рдирд╣реАрдВ рдерд╛ рдХрд┐ рдореВрд▓ рдХрд╛рд░рдг рдХреНрдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╣рдо рдЕрдкрдиреЗ рдкрд░реАрдХреНрд╖рдг рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рдереЗ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдЙрддреНрдкрд╛рджрди рдПрдХ рдкрд░ рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рд╣реЛрдирд╛ рдкрдбрд╝рд╛ред 'рд╕реМрднрд╛рдЧреНрдп рд╕реЗ', рд╣реИрдВрдЧ рдЕрдХреНрд╕рд░ рдкрд░реНрдпрд╛рдкреНрдд рдереЗ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЕрдкрдиреЗ рдбрд┐рдмрдЧрд┐рдВрдЧ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд▓реНрджреА рд╕реЗ рдкреБрдирд░рд╛рд╡реГрддрд┐ рдХрд░ рд╕рдХрддреЗ рдереЗред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рд╕рднреА nginx рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдкрд░ рдХреЗрд╡рд▓ рдПрдХ strace -fp $pid рдерд╛, рдФрд░ рдЗрд╕рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╡реЗ рд╕рднреА рдПрдХ futex() рдкрд░ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рдереЗ - рдЗрд╕ рддрдереНрдп рдХреЗ рдЕрдиреБрд░реВрдк рдХрд┐ рдкрд┐рдбреНрд╕ рдореЗрдВ рд╕реЗ рдПрдХ рд╣рдореЗрд╢рд╛ рдПрдХ shdict рдкрд░ рддрд╛рд▓рд╛ рд░рдЦрддрд╛ рдерд╛ред рдЗрд╕рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЬреАрдбреАрдмреА рдмреИрдХрдЯреНрд░реИрдХ рдХрд╛ рдПрдХ рдбрдВрдк рдЬреЛрдбрд╝рд╛, рдФрд░ рдЫрд╡рд┐ рдореЗрдВ рдбреАрдмрдЧ рдкреНрд░рддреАрдХреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдирд┐рдореНрди рдХреЛрдб рдкрде рдкрд░ рд╣реИ:

#3  0x00007f8f4ea50219 in ngx_shmtx_lock (mtx=0x7f8f31a0c068) at src/core/ngx_shmtx.c:111
#4  0x00007f8f4eb7afbe in ngx_http_lua_shdict_set_helper (L=0x418257a0, flags=0) at ../ngx_lua-0.10.13/src/ngx_http_lua_shdict.c:1016
#5  0x00007f8f4eb7a4a4 in ngx_http_lua_shdict_delete (L=0x418257a0) at ../ngx_lua-0.10.13/src/ngx_http_lua_shdict.c:632
#6  0x00007f8f4debd2f3 in lj_BC_FUNCC () from /usr/local/openresty/luajit/lib/libluajit-5.1.so.2
#7  0x00007f8f4dec0b9f in gc_call_finalizer (g=0x418063b8, L=0x418257a0, mo=0x7ffc7592da00, o=0x40e11948) at lj_gc.c:475
#8  0x00007f8f4dec0e2b in gc_finalize (L=0x418257a0) at lj_gc.c:509
#9  0x00007f8f4dec15d9 in gc_onestep (L=0x418257a0) at lj_gc.c:659
#10 0x00007f8f4dec16ef in lj_gc_step (L=0x418257a0) at lj_gc.c:689
#11 0x00007f8f4ded8c3d in lua_pushlstring (L=0x418257a0, str=0x7f8f330a6066 "0\202\002\v\n\001", len=527) at lj_api.c:639
#12 0x00007f8f4eb7a225 in ngx_http_lua_shdict_get_helper (L=0x418257a0, get_stale=0) at ../ngx_lua-0.10.13/src/ngx_http_lua_shdict.c:538
#13 0x00007f8f4eb79eb6 in ngx_http_lua_shdict_get (L=0x418257a0) at ../ngx_lua-0.10.13/src/ngx_http_lua_shdict.c:419

ngx_http_lua_shdict_get_helper() рдХреА рдПрдХ рддреНрд╡рд░рд┐рдд рдирдЬрд╝рд░ рдХреЗ рдмрд╛рдж рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдореВрд▓ рдХрд╛рд░рдг рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ: shdict рд▓реЙрдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ lua_pushlstring рдХрднреА-рдХрднреА рдХрдЪрд░рд╛ рд╕рдВрдЧреНрд░рд╣рдХрд░реНрддрд╛ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рд╣реА shdict рд╕реЗ рдЖрдЗрдЯрдо рдХреЛ рд╣рдЯрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЧрддрд┐рд░реЛрдз рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдореЗрд░рд╛ рддреНрд╡рд░рд┐рдд рдФрд░ рдЧрдВрджрд╛ рд╕рдорд╛рдзрд╛рди рдпрд╣ рдерд╛ (рдпрд╣ рдЗрддрдирд╛ рдмрджрд╕реВрд░рдд рд╣реИ рдХрд┐ рдореИрдВ рдПрдХ рдкреИрдЪ рдкреНрд░рдХрд╛рд╢рд┐рдд рдирд╣реАрдВ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ);

    case SHDICT_TSTRING:
{
int len = value.len;
char *tmp = malloc(len);
if(!tmp) {
    ngx_log_error(NGX_LOG_ERR, ctx->log, 0, "dict get: malloc: out of memory");
    return luaL_error(L, "out of memory");
}
ngx_memcpy(tmp, value.data, value.len);
ngx_shmtx_unlock(&ctx->shpool->mutex);
lua_pushlstring(L, tmp, len);
free(tmp);
}
        break;

рдЕрдм рддрдХ рдпрд╣ рддреНрд░реБрдЯрд┐рд╣реАрди рдЪрд▓рддрд╛ рд╣реИ - рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЖрдВрддрд░рд┐рдХ рдХрд╛рдордХрд╛рдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рд░рдЦрдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдмреЗрд╣рддрд░ рд╕реБрдзрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред

рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рдпрд╣ рдПрдХ рдЬреНрдЮрд╛рдд рддрдереНрдп рд╣реИ!
https://github.com/openresty/lua-nginx-module/issues/1207#issuecomment -350745592

рдпрд╣ рд╡рд╛рдХрдИ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИред рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдореБрджреНрджреЗ рдХреЗ рдЕрдиреБрд╕рд╛рд░, lua-resty-core рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдареАрдХ рд╣реЛ рдЬрд╛рдПрдЧреА, рдФрд░ рдЗрд╕рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдпрд╣ рдУрдкрдирд░реЗрд╕реНрдЯреА 1.15.8.1 рдХреЗ рдмрд╛рдж рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд▓реЛрдб рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдмрдЧ рдЙрд╕ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЪреБрдкрдЪрд╛рдк рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╣рдо рдЕрдкрдиреЗ рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░реЗрдВрдЧреЗ рдФрд░ рд╡рд╛рдкрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдВрдЧреЗред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ - рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдпрд╣ рдЕрднреА рднреА рдЬрд╛рд░реА рд░рд╣рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд▓рдЯрдХрд╛ рд╣реБрдЖ рд╣реИ, рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдмрдЧ рдХреЛ рдареАрдХ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

3+ рд╕рд╛рд▓ рд╕реБрдЪрд╛рд░реВ рд░реВрдк рд╕реЗ рдЪрд▓рдиреЗ рдХреЗ рдмрд╛рдж, рдмрд╕ рдЗрд╕рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ред

рдЙрддреНрдкрд╛рджрди рдореЗрдВ рднреА рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ - рдзрдиреНрдпрд╡рд╛рдж @koszik рдФрд░ alред рдмрд╕ рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:

OpenResty рдХреЛ >1.15.8.1 рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ

рдпрд╣ рдЗрддрдирд╛ рд╣рд╛рдирд┐рдХрд╛рд░рдХ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЬрд▓реНрдж рд╣реА f66bb61f11a654f66d35dd793ceaf0293d9c0f46 рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдПрдХ рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреЗ рдмрдЬрд╛рдп рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

ronaldgetz picture ronaldgetz  ┬╖  10рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

sahildeliwala picture sahildeliwala  ┬╖  16рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

arya6000 picture arya6000  ┬╖  11рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ronaldgrn picture ronaldgrn  ┬╖  8рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

byrnedo picture byrnedo  ┬╖  16рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ