рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдореЗрдВ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдЫрд┐рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрджреГрд╢реНрдп рдпреВрдирд┐рдХреЛрдб рд╡рд░реНрдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

рджреНрд╡рд┐рджрд┐рд╢ рдкрд╛рда рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреНрд░рдо рдХреЛ рдмрджрд▓рдиреЗ рд╡рд╛рд▓реЗ рдпреВрдирд┐рдХреЛрдб рд╡рд░реНрдгреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЯреНрд░реЛрдЬрди рд╕реНрд░реЛрдд рдЖрдХреНрд░рдордг рдкрджреНрдзрддрд┐ рдХреЗ рдмрд╛рдж, рдЫрд┐рдкреА рд╣реБрдИ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рддрдХрдиреАрдХ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреА рдЧрдИ рд╣реИ, рдЬреЛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИред рдирдИ рдкрджреНрдзрддрд┐ рдпреВрдирд┐рдХреЛрдб рд╡рд░реНрдг "уЕд" (рдХреЛрдб 0x3164, "рд╣рдВрдЧреБрд▓ рдлрд┐рд▓рд░") рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЬреЛ рдПрдХ рдЕрдХреНрд╖рд░ рд╣реИ рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдХреЛрдИ рджреГрд╢реНрдп рд╕рд╛рдордЧреНрд░реА рдирд╣реАрдВ рд╣реИред рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд░ рдирд╛рдореЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП ECMAScript 2015 рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдмрд╛рдж рд╕реЗ рдЗрд╕ рдЪрд░рд┐рддреНрд░ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдпреВрдирд┐рдХреЛрдб рд╢реНрд░реЗрдгреА рдХреА рдЕрдиреБрдорддрд┐ рджреА рдЧрдИ рд╣реИ, рдЬреЛ рдиреЛрдЯрдкреИрдб ++ рдФрд░ рд╡реАрдПрд╕ рдХреЛрдб рдЬреИрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдХреЛрдб рд╕рдВрдкрд╛рджрдХреЛрдВ рдореЗрдВ рдЕрдиреНрдп рдЪрд░ рд╕реЗ рдЕрджреГрд╢реНрдп рдЪрд░ рдпрд╛ рдирдП рдЪрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИред

рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, Node.js рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдХреЛрдб рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдПрдХрд▓ рд╡рд░реНрдг "уЕд" рд╡рд╛рд▓реЗ рдПрдХ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдПрдХ рдкрд┐рдЫрд▓рд╛ рджрд░рд╡рд╛рдЬрд╛ рдЫрд┐рдкрд╛ рд╣реБрдЖ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рд╣рдорд▓рд╛рд╡рд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ: app.get( '/network_health', async (req, res) => { const { рдЯрд╛рдЗрдордЖрдЙрдЯ, уЕд} = req.query;//рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╣рддреЗ рд╣реИрдВ "const { рдЯрд╛рдЗрдордЖрдЙрдЯ, уЕд \u3164}" const checkCommands = ['рдкрд┐рдВрдЧ -c 1 google. рдХреЙрдо', 'рдХрд░реНрд▓-рдПрд╕ http:// example.com/', уЕд // рдХреЙрдорд╛ рдХреЗ рдмрд╛рдж \u3164];

рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рдХреЗрд╡рд▓ рдЯрд╛рдЗрдордЖрдЙрдЯ рдорд╛рди рдмрд╛рд╣рд░реА рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЖрджреЗрд╢реЛрдВ рд╡рд╛рд▓реЗ рд╕рд░рдгреА рдореЗрдВ рд╣рд╛рдирд┐рд░рд╣рд┐рдд рдирд┐рд╢реНрдЪрд┐рдд рд╕реВрдЪреА рд╣реЛрддреА рд╣реИред рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЯрд╛рдЗрдордЖрдЙрдЯ рдЪрд░ рдХреЗ рдмрд╛рдж, рдкреНрд░рддреАрдХ рдХреЛрдб \u3164 рдХреЗ рд╕рд╛рде рдПрдХ рдФрд░ рдЕрджреГрд╢реНрдп рдЪрд░ рдХрд╛ рдорд╛рди рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдЖрджреЗрд╢реЛрдВ рдХреА рд╕рд░рдгреА рдореЗрдВ рднреА рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдРрд╕реА рд╕рдВрд░рдЪрдирд╛ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╣рдорд▓рд╛рд╡рд░ рдкрд┐рдЫрд▓реЗ рджрд░рд╡рд╛рдЬреЗ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рдиреЗ рдФрд░ рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "https://host:8080/network_health?%E3%85%A4=command" рдЬреИрд╕рд╛ рдЕрдиреБрд░реЛрдз рднреЗрдЬ рд╕рдХрддрд╛ рд╣реИред

рдПрдХ рдЕрдиреНрдп рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдЕрдХреНрд╖рд░ "╟Г" (ALVEOLAR CLICK) рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рд╕реНрдордпрд╛рджрд┐рдмреЛрдзрдХ рдЪрд┐рд╣реНрди рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ "if(environment╟Г=ENV_PROD){" рдЬрдм Node.js 14 рдореЗрдВ рдХреНрд░рд┐рдпрд╛рдиреНрд╡рд┐рдд рд╣реЛрддреА рд╣реИ рддреЛ рд╣рдореЗрд╢рд╛ рд╕рддреНрдп рд╣реЛрдЧреА, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдВрддрд░реЛрдВ рдХреА рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЪрд░ "environment╟Г" рдХреЛ ENV_PROD рдкрд░ рд╕реЗрдЯ рдХрд░рддреА рд╣реИред рднреНрд░рд╛рдордХ рдпреВрдирд┐рдХреЛрдб рд╡рд░реНрдгреЛрдВ рдореЗрдВ "я╝П", "-", "я╝Л", "тй╡", "тЭи", "тл╜", "ъУ┐", рдФрд░ "тИЧ" рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ