Socket.io: рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдИрд╕реА 2 рдИрдПрд▓рдмреА рдХреЗ рдкреАрдЫреЗ рд╣рдореЗрд╢рд╛ рддреНрд░реБрдЯрд┐ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛрдб рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИ: 400

рдХреЛ рдирд┐рд░реНрдорд┐рдд 30 рдЕрдХреНрддреВре░ 2014  ┬╖  66рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: socketio/socket.io

рд╣реЗ рд▓реЛрдЧреЛрдВ -

рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдХреЗ рдкреАрдЫреЗ рдЕрдкрдирд╛ рдРрдк рдЪрд▓рд╛рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ:

WebSocket connection to 'wss://fakedomain.com/socket.io/?EIO=3&transport=websocket&sid=QH8VmXbiEcp3ZyiLAAAD' failed: Error during WebSocket handshake: Unexpected response code: 400 

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

рдореБрдЭреЗ рдореВрд▓ рдХрд╛рд░рдг рдХреЛ рдареАрдХ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рд╕рдорд░реНрдкрд┐рдд рд╕реЙрдХреЗрдЯ рд╢рд╛рдорд┐рд▓ рд╣реИред рдпрд╣ рдЧрд▓рддреА?

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

рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрд┐рд╕реА рднреА рд╕рд▓рд╛рд╣ рдХреЗ рд▓рд┐рдП рдЕрдЧреНрд░рд┐рдо рдзрдиреНрдпрд╡рд╛рдж!

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

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд▓реЛрдЪрджрд╛рд░ рдмреАрдирд╕реНрдЯреЙрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рдирд┐рд░реНрджреЗрд╢ рд╡рд╣рд╛рдВ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реЛрдВрдЧреЗ)ред

EC2-> рдиреЗрдЯрд╡рд░реНрдХ рдФрд░ рд╕реБрд░рдХреНрд╖рд╛-> рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░реНрд╕ рдкрд░ рдЬрд╛рдПрдВ

рдЕрдкрдирд╛ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдЪреБрдиреЗрдВ рдФрд░ рд╢реНрд░реЛрддрд╛рдУрдВ рдкрд░ рдЬрд╛рдПрдБред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдФрд░ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рджреЛрдиреЛрдВ HTTP рдФрд░ HTTPS рдХреЗ рдмрдЬрд╛рдп рдкреЛрд░реНрдЯ 80 рдХреЗ рд▓рд┐рдП рдЯреАрд╕реАрдкреА рдФрд░ рдкреЛрд░реНрдЯ 443 рдХреЗ рд▓рд┐рдП рдПрд╕рдПрд╕рдПрд▓ рдкрд░ рд╕реЗрдЯ рд╣реИрдВред

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

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВрдиреЗ рдмреЛрд╡рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдпрджрд┐ рдпрд╣ рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИ:

"рд╕реЙрдХреЗрдЯ.рдЖрдИрдУ-рдХреНрд▓рд╛рдЗрдВрдЯ": "~ 1.1.0",

рдХреНрдпрд╛ рдЖрдкрдХреЗ рд╕рд░реНрд╡рд░ рдкрд░ рдЪрд┐рдкрдЪрд┐рдкрд╛ рдХрдиреЗрдХреНрд╢рди рд╣реИ?

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд▓реЛрдЪрджрд╛рд░ рдмреАрдирд╕реНрдЯреЙрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рдирд┐рд░реНрджреЗрд╢ рд╡рд╣рд╛рдВ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реЛрдВрдЧреЗ)ред

EC2-> рдиреЗрдЯрд╡рд░реНрдХ рдФрд░ рд╕реБрд░рдХреНрд╖рд╛-> рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░реНрд╕ рдкрд░ рдЬрд╛рдПрдВ

рдЕрдкрдирд╛ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдЪреБрдиреЗрдВ рдФрд░ рд╢реНрд░реЛрддрд╛рдУрдВ рдкрд░ рдЬрд╛рдПрдБред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдФрд░ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рджреЛрдиреЛрдВ HTTP рдФрд░ HTTPS рдХреЗ рдмрдЬрд╛рдп рдкреЛрд░реНрдЯ 80 рдХреЗ рд▓рд┐рдП рдЯреАрд╕реАрдкреА рдФрд░ рдкреЛрд░реНрдЯ 443 рдХреЗ рд▓рд┐рдП рдПрд╕рдПрд╕рдПрд▓ рдкрд░ рд╕реЗрдЯ рд╣реИрдВред

рдУрд╣ рдЖрджрдореАред рдпрд╣ рдареЛрд╕ рд╕рд▓рд╛рд╣ рд╣реИ рдЬреЛ рдореИрдВрдиреЗ рдХрд╣реАрдВ рдФрд░ рдирд╣реАрдВ рджреЗрдЦреАред рдореИрдВ AM . рдореЗрдВ рдХреЛрд╢рд┐рд╢ рдХрд░реВрдБрдЧрд╛
рдФрд░ рд╡рд╛рдкрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдВред рдЖрдкрдХреЛ рдзрдиреНрдпрд╡рд╛рдж!

рдмреБрдз, рдЕрдХреНрдЯреВрдмрд░ 29, 2014, рд╢рд╛рдо 7:48 рдЕрдкрд░рд╛рд╣реНрди рд╡рд╛рджрд┐рдо рдХрдЬрд╝рд╛рдХреЛрд╡ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд▓реЛрдЪрджрд╛рд░ рдмреАрдирд╕реНрдЯреЙрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рдирд┐рд░реНрджреЗрд╢ рд╡рд╣рд╛рдВ рд╣реЛрдВрдЧреЗ
рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реЛ)ред

EC2-> рдиреЗрдЯрд╡рд░реНрдХ рдФрд░ рд╕реБрд░рдХреНрд╖рд╛-> рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░реНрд╕ рдкрд░ рдЬрд╛рдПрдВ

рдЕрдкрдирд╛ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдЪреБрдиреЗрдВ рдФрд░ рд╢реНрд░реЛрддрд╛рдУрдВ рдкрд░ рдЬрд╛рдПрдБред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рджреЛрдиреЛрдВ рд▓реЛрдб
рдмреИрд▓реЗрдВрд╕рд░ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдФрд░ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдкреЛрд░реНрдЯ 80 рдХреЗ рд▓рд┐рдП рдЯреАрд╕реАрдкреА рдкрд░ рд╕реЗрдЯ рд╣реИрдВ рдФрд░
HTTP рдФрд░ HTTPS рдХреЗ рдмрдЬрд╛рдп рдкреЛрд░реНрдЯ 443 рдХреЗ рд▓рд┐рдП рдПрд╕рдПрд╕рдПрд▓ред

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/Automattic/socket.io/issues/1846#issuecomment -61038664
.

рддреЛ рд╢рд╛рдпрдж рдореБрдЭрд╕реЗ рдЧрд▓рддреА рд╣реБрдИ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реА рд╕рд╛рдЗрдЯ HTTPS (рд╣рдорд╛рд░реЗ SSL рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЗ рд╕рд╛рде) рдкрд░ рдЪрд▓ рд░рд╣реА рд╣реИред рд▓рд╛рдЗрди рдХреЗ рдиреАрдЪреЗ рдмрд╣реБрдд рд╕реА рдЪреАрдЬреЛрдВ рдХреЛ рддреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдмрджрд▓рдирд╛ред рдореИрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдРрдк рдореЗрдВ рдПрдХреНрд╕-рдлреЙрд░рд╡рд░реНрдбреЗрдб-рдкреНрд░реЛрдЯреЛ рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдЕрдиреБрд░реЛрдз HTTPS рдерд╛ рдФрд░ рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдЗрд╕реЗ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдЬрд╛рд╣рд┐рд░ рддреМрд░ рдкрд░ рдПрд╕рдПрд╕рдПрд▓/рдЯреАрд╕реАрдкреА рдХреЗ рд╕рд╛рде рдХреЛрдИ рдПрдХреНрд╕-рдлреЙрд░рд╡рд░реНрдбреЗрдб-рдкреНрд░реЛрдЯреЛ рд╣реЗрдбрд░ рдирд╣реАрдВ рд╣реИ рдФрд░ рдПрдХреНрд╕рдкреНрд░реЗрд╕ req.secure рдХреЛ рдЧрд▓рдд рдХреЗ рд░реВрдк рдореЗрдВ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░ рд░рд╣рд╛ рд╣реИ (рднрд▓реЗ рд╣реА рдореИрдВрдиреЗ https рдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рд╣реЛ)ред

рд╕реБрдЭрд╛рд╡?

рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ, рд╕реЙрдХреЗрдЯ рдЯреАрд╕реАрдкреА/рдПрд╕рдПрд╕рдПрд▓ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рди рдХрд┐ рдПрдЪрдЯреАрдЯреАрдкреА, рдЗрд╕рд▓рд┐рдП рд╡реЗрдм рд╕реЙрдХреЗрдЯ рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЗрд╕реЗ рдЯреАрд╕реАрдкреА/рдПрд╕рдПрд╕рдПрд▓ рдореЗрдВ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ред рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдЖрдкрдХреЗ рдмрд╛рдХреА рдРрдк рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рд╕рд╡рд╛рд▓ рд╣реИ, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ред

рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореБрдЭреЗ рдПрдХ рдирдпрд╛ рд╡рд╛рддрд╛рд╡рд░рдг рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдереЛрдбрд╝рд╛ рдЧрдбрд╝рдмрдбрд╝ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдорд╢реАрди рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХреЙрдЧ рд╣реИрдВ!

рдХреНрдпрд╛ рд╡реЗрдмрд╕реЛрдХреЗрдЯ рдХреЛ рдЕрдкрдиреЗ рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдкрд░ рдЪрд▓рд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИ? рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдХреНрдпрд╛ рдЖрдк рдХреБрдЫ рджрд╕реНрддрд╛рд╡реЗрдЬ рд▓рд┐рдВрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? (рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рд▓реЗрдХрд┐рди рдореИрдВ рдЧрд▓рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВ)

рд╡реЗ рдЬреЛ рднреА рдкреЛрд░реНрдЯ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЙрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдмрд╕ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдкреЛрд░реНрдЯ рдХреЛ рдХрдм рдХрдиреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ:

io('https://myserver:123');

рдореИрдВ рдЗрд▓рд╛рд╕реНрдЯрд┐рдХрдмреАрдирд╕реНрдЯреЙрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЙрд╕реА рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдореЗрд░реЗ рдкрд╛рд╕ рдПрд╕рдПрд╕рдПрд▓ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИ рд▓реЗрдХрд┐рди рдирд┐рдпрдорд┐рдд http рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред

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

рдЕрднреА рддрдХ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдвреВрдВрдв рд╕рдХрддрд╛ рд╣реИ ...

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

рдХреГрдкрдпрд╛ рдХрд┐рд╕реА рднреА рдРрдк рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдорд┐рдбрд▓рд╡реЗрдпрд░ рд╕рд╛рдорд╛рди (рд╣реЗрдбрд░/рдХреЙрд░реНрд╕ рд╕рдВрдмрдВрдзрд┐рдд) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдпрджрд┐ рдХреЛрдИ рд╣реЛ, рдпрд╛ рдРрдк.рдЧреЗрдЯ ("/", рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреМрди рд╕рд╛ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреГрдкрдпрд╛ рдЕрдкрдиреЗ рдкрд░рд┐рдгрд╛рдо рдкреЛрд╕реНрдЯ рдХрд░реЗрдВред

рдЕрджреНрдпрддрди: рдореИрдВрдиреЗ рдкреБрд╖реНрдЯрд┐ рдХреА рд╣реИ рдХрд┐ рдпрд╣ рдИрдПрд▓рдмреА рд╣реИ, рдЪрд╛рд╣реЗ рд╡рд╣ HTTP рдпрд╛ HTTPS рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ, socket.io рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИред рдЬрдм рдореИрдВ рд╕реАрдзреЗ рдИрд╕реА 2 рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдкрд░ рдЬрд╛рддрд╛ рд╣реВрдВ рддреЛ рд╕рдм рдХреБрдЫ рдмрдврд╝рд┐рдпрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рд╕рдВрд▓рдЧреНрди рд╡рд╣ рд╣реИ рдЬреЛ рдореИрдВ рдИрдПрд▓рдмреА рд╕реЗ рдЧреБрдЬрд░рддреЗ рд╕рдордп рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВред
snipimage

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд▓реЛрдбрдмреИрд▓реЗрдВрд╕рд░ рдХреЗ рд╕рд╛рдордиреЗ рд░реВрдЯ 53 рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдЬреЛрдбрд╝рдХрд░ рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИ рд╣реИред
рдЕрдм рдореЗрд░реЗ рдкрд╛рд╕ рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рддрд╣рдд рд╕реБрд░рдХреНрд╖рд┐рдд рдХрдиреЗрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдПрдХ рдХрд╛рд░реНрдпрд╢реАрд▓ рд╡реЗрдмрд╕реЛрдХреЗрдЯ рд╣реИред

рд░реВрдЯ 53 рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рдЕрдЧрд░ рдпрд╣ рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рдЕрдкрдирд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред

@ yoav200 рдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдирд╛ рдкреВрд░рд╛ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рди рдЪреАрдЬреЛрдВ рдиреЗ рдЖрдкрдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛? рдпрд╛рдиреА, рдИрдмреАрдПрд╕ рд╕реБрд░рдХреНрд╖рд╛ + рдкреНрд░реЛрдЯреЛрдХреЙрд▓ (http/tcp) рдкрд░ рдкреЛрд░реНрдЯ, рдЖрдкрдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдХреЛрдИ рднреА .ebextensions, рдЖрджрд┐ред рдореИрдВрдиреЗ рдЕрдкрдЧреНрд░реЗрдб рд╣реЗрдбрд░ рд░рдЦрдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдиреЛрдб рдкрд░ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ nginx рдХреЙрдиреНрдлрд┐рдЧ рдХреЛ рд╣реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЪреАрдЬреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред . рдПрдлрдбрдмреНрд▓реНрдпреВрдЖрдИрдбрдмреНрд▓реНрдпреВ - рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдХреА рдкреЗрдЬ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорджрджрдЧрд╛рд░ рд╣реЛрдЧрд╛ред рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реА рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдореЗрд░реЗ рдИрд╕реА 2 рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдкрд░ рд╕реАрдзреЗ рдЬрд╛ рд░рд╣реА рдереАред

рдореИрдВрдиреЗ рдПрдХ рд░реВрдЯ 53 рдЗрдВрд╕реНрдЯреЗрдВрд╕ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдореЗрд░реЗ рдбреЛрдореЗрди рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддрд╛ рд╣реИред
рдореИрдВрдиреЗ рдПрдХ рд╣реЛрд╕реНрдЯреЗрдб рдЬрд╝реЛрди рдХреЛ рдПрдХ рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд╕рд╛рде рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдореЗрд░реЗ рдбреЛрдореЗрди рдХреЛ рд╕реАрдзреЗ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдкрд░ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред

рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдХреЛ рдореЗрд░реЗ рдЯреЙрдордХреИрдЯ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЛ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣рд╛рдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
lb-listeners

рдИрдПрд▓рдмреА рдХреЗ рд▓рд┐рдП рд╕реБрд░рдХреНрд╖рд╛ рд╕рдореВрд╣ рдХрд╛рдлреА рдорд╛рдирдХ рд╣реИ:
lb-security-group

рдХреНрдпрд╛ рдЖрдк nginx рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдХреНрдпрд╛ рдЖрдкрдХреЛ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рд╡рд┐рдиреНрдпрд╛рд╕-рд╡рд╛рд░ рдХрд░рдирд╛ рдерд╛?

рдореИрдВ рдпрд╣ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╣реБрдд рдХрд░реАрдм рд╣реВрдВ, рдкрд┐рдЫрд▓реЗ рджреЛ рджрд┐рдиреЛрдВ рдореЗрдВ рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рд╕рдкреЛрд░реНрдЯ рдЗрдВрдЬреАрдирд┐рдпрд░ рдХреЗ рд╕рд╛рде рд▓рдЧрднрдЧ 8 рдШрдВрдЯреЗ рдмрд┐рддрд╛рдПред рдорд┐рдХреНрд╕ рд╕реЗ nginx рдХреЛ рдЪреАрд░рдирд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдмрд╣реБрдд рдХрд░реАрдм рд╣реВрдВ, http рдкрд░ рдИрдПрд▓рдмреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реЙрдХреЗрдЯ рдареАрдХ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдХрд▓ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдИрдПрд▓рдмреА-рд╕реНрддрд░ рдХреЗ рдмрдЬрд╛рдп https рд╕рд╛рдорд╛рди рд╕рд░реНрд╡рд░-рд╕рд╛рдЗрдб рдХреЛ рд╕рдВрднрд╛рд▓ рд╕рдХрддрд╛ рд╣реВрдВред

рдореИрдВ рдЕрдкрдиреЗ рдирд┐рд╖реНрдХрд░реНрд╖реЛрдВ рдХреЗ рд╕рд╛рде рд╡рд╛рдкрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реВрдВрдЧрд╛ред

рдореИрдВ nginx рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛, рдореИрдВ Amazon рдкрд░ рд╕рдм рдХреБрдЫ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдбреЛрдореЗрди рдХреЛ Amazon рдкрд░ рднреА рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рд╣реИ,
рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдПрдХ рд╣реЛрд╕реНрдЯреЗрдб рдХреНрд▓рд╛рдЙрдб рд╡рд╛рддрд╛рд╡рд░рдг рд╕реЗ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдЙрдирдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП AWS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди nginx рдХреЗ рд╕рд╛рде рд▓реЛрдб рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рд╡рд╣рд╛рдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рдереАред

рдЬрдм рдЙрдирд╕реЗ рдкреВрдЫрд╛ рдЧрдпрд╛ рдХрд┐ рдпрд╣ рдЙрдирдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рддреЛ рдЙрдирдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдереА:

рд╣рдо рдЕрдореЗрдЬрд╝реЕрди рдЗрд▓рд╛рд╕реНрдЯрд┐рдХ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо рдЕрдкрдиреА рдЦреБрдж рдХреА рдПрдирдЬреАрдЖрдИрдПрдирдПрдХреНрд╕ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд┐рдВрдЧ рдкрд░рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдПрдХ рд╕рдорд╛рдзрд╛рди рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ ELB рдХреЗ рдмрдЬрд╛рдп Nginx рдпрд╛ HAProxy рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдП рдФрд░ рдШрдЯрдХ рдХреА рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП haproxy/nginx рдХреЗ 1 рдиреЛрдб рдХреЗ рд╕рд╛рде рдПрдХ рдСрдЯреЛрд╕реНрдХреЗрд▓рд┐рдВрдЧ рд╕рдореВрд╣ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПред

рд╣рд╛рдБ, рдореБрдЭреЗ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ HAProxy рдПрдХ рдФрд░ рд╡рд┐рдХрд▓реНрдк рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рджрд┐рди рдХреЗ рдЕрдВрдд рддрдХ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реВрдВрдЧрд╛:

  • рд▓реЛрдЪрджрд╛рд░ рдмреАрдирд╕реНрдЯреЙрдХ
  • рдИрдПрд▓рдмреА
  • EC2 рдСрдЯреЛрд╕реНрдХреЗрд▓рд┐рдВрдЧ рд╕рдореВрд╣ (EB рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛)
  • рдЖрд░рдбреАрдПрд╕
  • рдЗрд▓рд╛рд╕реНрдЯреА рдХреИрд╢

рдиреЛрдб рдРрдк рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЗрди рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, рдХреЗрд╡рд▓ HTTP рдкрд░, рдЗрд╕рд▓рд┐рдП рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХреБрдЫ рдирд╣реАрдВ рдмрдЪрд╛ рд╣реИред рдореИрдВ рдмрд╛рдж рдореЗрдВ рдЕрдкрдиреЗ рдирд┐рд╖реНрдХрд░реНрд╖реЛрдВ/рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реВрдВрдЧрд╛ред

@niczak рдХреНрдпрд╛ рдЖрдк рдпрд╣ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ?

рдЕрднреА рдореИрдВ ElastiCache's Redis рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде-рд╕рд╛рде EC2 рдкрд░ рдЕрдкрдиреЗ рдиреЛрдб рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдкрд░ Socket.IO рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдореИрдВрдиреЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрдИрдкреА рдкрддреЗ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рд╛рде рдЬрдирддрд╛ рдХреЗ рд▓рд┐рдП рдИрд╕реА 2 рдЙрджрд╛рд╣рд░рдг рдЦреЛрд▓рд╛ рддрд╛рдХрд┐ рдореИрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕реЙрдХреЗрдЯ рд╕реЗ рдЬреБрдбрд╝ рд╕рдХреВрдВ (http://coding-ceo.ghost.io/how-to-run-socket-io-behind -рдПрд▓реНрдм-рдСрди-рдПрдбрдмреНрд▓реНрдпреВрдПрд╕/)ред рдореЗрд░реЗ рдИрдПрд▓рдмреА рдкрд░ рдореИрдВ рдЪрд┐рдкрдЪрд┐рдкрд╛ рд╕рддреНрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ (рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдЬреБрдбрд╝рд╛ рд░рд╣реЗрдЧрд╛), рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореЗрд░рд╛ рд╕реЙрдХреЗрдЯ рдЕрднреА рднреА рдХрдиреЗрдХреНрдЯ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдФрд░ рдореБрдЭреЗ рдкреНрдпрд╛рд░рд╛ рдЕрд╕рдлрд▓ рджреЗрддрд╛ рд╣реИ: рд╣реИрдВрдбрд╢реЗрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрдиреЗрдХреНрд╢рди рдмрдВрдж рд╣реЛ рдЧрдпрд╛ред

рдорддрджрд╛рди рд╣рд╛рд▓рд╛рдВрдХрд┐ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реЙрдХреЗрдЯ рдФрд░ рдкреВрд░реЗ рдкрде рдХреЛ рдареАрдХ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдпрд╣рд╛рдВ рдПрдХ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЛ рджреЗрдЦрдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ рддрд╛рдХрд┐ рдореИрдВ рдЕрдкрдиреЗ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдареАрдХ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХреВрдВ (рднрд▓реЗ рд╣реА рдпрд╣ рдХреЗрд╡рд▓ http рдФрд░ https рдХреЗ рдмрдЬрд╛рдп HTTP рдкрд░ рд╣реЛ) рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдХрд╛рдлреА рд╕рдордп рд╕реЗ рдЦреБрдж рдХреЛ рд╕рд┐рд░ рддреЛрдбрд╝ рд░рд╣рд╛ рд╣реВрдВред

рдЖрдкрдХреА рдорджрдж рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж!

@рдкреЗрдЯреНрд░реЛрдЧрд╛рдб

рд╣реЗ рдкреАрдЯ!

рдореЗрд░реЗ ELB рд╢реНрд░реЛрддрд╛ рдЬрд┐рддрдиреЗ рд╕рд░рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ (рдЪрд┐рддреНрд░ рджреЗрдЦреЗрдВ) рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ EC2 рдкреЛрд░реНрдЯ 80 рдкрд░ iptables рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ 8080 рдкрд░ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд╕рд╛рде рд╣реА, рдореИрдВ рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдХреЛ рдПрдЪрдЯреАрдЯреАрдкреАрдПрд╕ рдкрд░ рд╣рд┐рдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдлрд┐рд░ рдореЗрд░рд╛ рдиреЛрдб рдРрдк 8080 рдкрд░ рд╕реБрдирддрд╛ рд╣реИ рдФрд░ рдПрд╕рдПрд╕рдПрд▓ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЛ рд╣реА рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИред

elb

рд╕реЗрд░реНрдЯреНрд╕ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдиреЛрдб рдХреЛрдб рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

        files = ["COMODOHigh-AssuranceSecureServerCA.crt", "AddTrustExternalCARoot.crt"];
        ca = (function() {
            var _i, _len, _results;
            _results = [];
            for (_i = 0, _len = files.length; _i < _len; _i++) {
                file = files[_i];
                _results.push(fs.readFileSync('/etc/ssl/tcerts/' + file));
            }
            return _results;
            })();

        httpsOptions = {
            ca: ca,
            key: fs.readFileSync('/etc/ssl/tcerts/multidomain.key', 'utf8'),
            cert: fs.readFileSync('/etc/ssl/tcerts/14432575.crt', 'utf8')
        };

        this.serverPort = 8080;
        var httpsServer = https.createServer(httpsOptions, apiInstance);
        httpsServer.listen(this.serverPort);
        startSockets(httpsServer);

рд╡реЗрдм рд╕реЙрдХреЗрдЯ рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рд▓рдВрдмреЗ рдорддрджрд╛рди рдореЗрдВ рд╡рд╛рдкрд╕ рдЖрдП рдмрд┐рдирд╛) I _had_ рдХреНрд░реЙрд╕-рдЬрд╝реЛрди рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд┐рдВрдЧ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдЕрдкрдиреЗ рдИрдПрд▓рдмреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡реЗрдм рд╕реЙрдХреЗрдЯ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХрд╛ рджрд╛рд╡рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди "рд╣реИрдХреНрд╕" рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВред рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЛ рдЙрдардиреЗ рдФрд░ рджреМрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛!

рдзрдиреНрдпрд╡рд╛рдж @niczak !

рд╕рдм рдХреБрдЫ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, HTTP рдЯреНрд░реИрдлрд┐рдХ рдЪрд▓ рд░рд╣рд╛ рдерд╛ рдЬреЛ рдЪреАрдЬреЛрдВ рдХреЛ рдлреЗрдВрдХ рд░рд╣рд╛ рдерд╛ред рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрдИ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рд░реЗрдбрд┐рд╕ рднреА рдорд┐рд▓рд╛; рдЖрдЦрд┐рд░реА рдЪреАрдЬ рд╕рд┐рд░реНрдл рд░реАрдХреНрд▓рд╕реНрдЯрд░ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реА рд╣реИ рдФрд░ рдПрдХ рдЯреАрд╕реАрдкреА рд░реВрдЯ рдХреЛ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде рд░рд╣рдиреЗ рдХреА рдЗрдЬрд╛рдЬрдд рджреЗ рд░рд╣реА рд╣реИред

рдХреНрдпрд╛ рдЖрдкрдХреЛ рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рд╕рдлрд▓рддрд╛ рдорд┐рд▓реА рд╣реИ? рдореИрдВ рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдЪрд┐рдкрдЪрд┐рдкрд╛-рд╕рддреНрд░ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рдХреЛрдИ рднрд╛рдЧреНрдп рдорд┐рд▓рд╛ рд╣реИ?

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

рдзрдиреНрдпрд╡рд╛рдж @niczak !!

рдореБрдЭреЗ рдЖрдЦрд┐рд░рдХрд╛рд░ рдореЗрд░рд╛ рдХрд╛рдо рднреА рдорд┐рд▓ рдЧрдпрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд
1) рдЯреАрд╕реАрдкреА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреИрд▓реЗрдВрд╕рд░ рд▓реЛрдб рдХрд░реЗрдВ
2) рдХреНрд░реЙрд╕-рдЬрд╝реЛрди рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд┐рдВрдЧ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░

рдореБрдЭреЗ рднреА рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реИ
3) рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░ "рдХреЛрдИ рдирд╣реАрдВ" рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

screen shot 2015-01-09 at 10 28 56 am

AWS рдкрд░ рд╕реЙрдХреЗрдЯреНрд╕ рдХреЗ рд▓рд┐рдП @aidanbon рдФрд░ @petrogad , huzzah рдмрд╣реБрдд рдЕрдЪреНрдЫреА рдЦрдмрд░ рд╣реИ! :+1:

рдмрд╣реБрдд - рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж! рдЗрд╕рдиреЗ рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд▓реЛрдЪрджрд╛рд░ рдмреАрдирд╕реНрдЯреЙрдХ рдХреЗ рд╕рд╛рде рд╣рд▓ рдХрд┐рдпрд╛ред рдпрд╣ nginx рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ

рдореЗрд░реА рдореВрд▓ рдкреЛрд╕реНрдЯ рд╕реЗ рдПрдПрди рдЕрдкрдбреЗрдЯ:

рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдПрдЪрдЯреАрдЯреАрдкреАрдПрд╕ рдХреЛ рдПрд╕рдПрд╕рдПрд▓ (443 ---> рдореЗрд░рд╛ рдХрд╕реНрдЯрдо рдкреЛрд░реНрдЯ) рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдПрдЪрдЯреАрдЯреАрдкреА рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИ (80 ---> рдореЗрд░рд╛ рдХрд╕реНрдЯрдо рдкреЛрд░реНрдЯ)ред

рдореЗрд░реЗ рдкрд╛рд╕ рдХреЛрдб рд╣реИ рдЬреЛ рдПрдХреНрд╕рдкреНрд░реЗрд╕ !req.secure && X-Forwarded-Proto !=== https рдХреЗ рд╕рд╛рде рдЬрд╛рдВрдЪ рдХрд░ рд░рд╣рд╛ рдерд╛ рдЬреЛ рдЖрдкрдХреЛ рдкреЛрд░реНрдЯ 80 рдкрд░ рдЖрдиреЗ рдкрд░ HTTPS рдкрд░ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд░рддрд╛ рд╣реИ ...

рд╣рд╛рд▓рд╛рдБрдХрд┐

рдПрд╕рдПрд╕рдПрд▓ рдореЗрдВ рдмрджрд▓рдиреЗ рд╕реЗ рдПрдХреНрд╕-рдлреЙрд░рд╡рд░реНрдбреЗрдб-рдкреНрд░реЛрдЯреЛ рд╡рд╛рдкрд╕ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ ... рдЗрд╕ рдХрдиреЗрдХреНрд╢рди рдХреЛ рддреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред (req.secure рднреА рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдкрджрд╛рд╡рдирдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)

рддреЛ рдЕрдм:

if (req.get('X-Forwarded-Proto') === 'http') {
            res.redirect('https://' + req.get('Host') + req.url);
        }

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ рдЕрдм рдХрдВрд╕реЛрд▓ рдореЗрдВ 400 рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдорд┐рд▓рддреА рд╣реИред

рд╣рд▓реЛ - рдореБрдЭреЗ рдпрд╣ рдиреЛрдб, рдПрдирдЬреАрдЖрдИрдПрдирдПрдХреНрд╕, рдПрд╕рдПрд╕рдПрд▓, рдФрд░ рд▓реЛрдЪрджрд╛рд░ рдмреАрдирд╕реНрдЯреЙрдХ рдкрд░ рдПрдХ рдИрдПрд▓рдмреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рдореНрди рдХрд╛рд░реНрдп рдХрд░ рд░рд╣рд╛ рд╣реИ:

рдкреНрд░реЙрдХреНрд╕реА рд╡реЗрдмрд╕реЛрдХреЗрдЯ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП nginx рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП .ebextensions рдореЗрдВ рдПрдХ рдХрдВрдЯреЗрдирд░ рдХрдорд╛рдВрдб рдмрдирд╛рдПрдВ:

container_commands:
    00proxy:
        command: sed -i 's/proxy_http_version.*/proxy_http_version\ 1.1\;\n\ \ \ \ \ \ \ \ proxy_set_header\ \ \ \ \ \ \ \ Upgrade\ \ \ \ \ \ \ \ \ \$http_upgrade\;\n\ \ \ \ \ \ \ \ proxy_set_header\ \ \ \ \ \ \ \ Connection\ \ \ \ \ \ \"upgrade\"\;/g' /tmp/deployment/config/#etc#nginx#conf.d#00_elastic_beanstalk_proxy.conf

рд▓реЛрдЪрджрд╛рд░ рдмреАрдирд╕реНрдЯреЙрдХ рд╡реЗрдм рдХрдВрд╕реЛрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдкрд░ рдЕрдкрдирд╛ рдПрд╕рдПрд╕рдПрд▓ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред

рдлрд┐рд░ рдИрд╕реА 2 рд╡реЗрдм рдХрдВрд╕реЛрд▓ рдкрд░ рдЬрд╛рдПрдВ, рдФрд░ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдХреЛ рдПрд╕рдПрд╕рдПрд▓ 443 -> рдЯреАрд╕реАрдкреА 80 рдкрд░ рд╕реБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдмрджрд▓реЗрдВред рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рдерд╛ рдЬрдм рдореИрдВрдиреЗ рдЗрд╕реЗ рдИрдмреА рд╡реЗрдм рдХрдВрд╕реЛрд▓ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛, рдореБрдЭреЗ рдЗрд╕реЗ рд╕реАрдзреЗ рдИрд╕реА 2 рдореЗрдВ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред

рд╡рд╣ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореБрдЭреЗ рдХреЛрдИ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдирд╣реАрдВ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдФрд░ рдореИрдВ рдПрдирдЬреАрдЖрдИрдПрдирдПрдХреНрд╕ рдХреЛ рднреА рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ред

@ChrisEdson рдХреНрдпрд╛ рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдФрд░ рд╣реИ?
рдореИрдВрдиреЗ рдЗрд╕реЗ рдЖрдЬрдорд╛рдпрд╛ рд▓реЗрдХрд┐рди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдг рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╡рд┐рдлрд▓ рд░рд╣рд╛ред рд▓реЙрдЧ рдлреЛрд▓реЛрдлрд╝рд┐рдВрдЧ рд▓рд╛рдЗрди рджрд┐рдЦрд╛рддрд╛ рд╣реИ:

/etc/init.conf: Unable to load configuration: No such file or directory

рдХреНрдпрд╛ рдЖрдк рдЕрдкрдирд╛ рдХреЛрдб рдкреЛрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рд╢реБрдХреНрд░, 4 рд╕рд┐рддрдВрдмрд░, 2015 рдХреЛ рджреЛрдкрд╣рд░ 1:13 рдмрдЬреЗ, рдЯреНрд░реЗрдпреЛрди рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

@ChrisEdson рдХреНрдпрд╛ рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдФрд░ рд╣реИ?
рдореИрдВрдиреЗ рдЗрд╕реЗ рдЖрдЬрдорд╛рдпрд╛ рд▓реЗрдХрд┐рди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдг рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╡рд┐рдлрд▓ рд░рд╣рд╛ред рд▓реЙрдЧ рдлреЛрд▓реЛрдлрд╝рд┐рдВрдЧ рд▓рд╛рдЗрди рджрд┐рдЦрд╛рддрд╛ рд╣реИ:

/etc/init.conf: Unable to load configuration: No such file or directory

рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ:
https://github.com/socketio/socket.io/issues/1846#issuecomment -137718880

рдРрдк рдХреЛрдб рдПрдХ рдЕрддреНрдпрдВрдд рдмреБрдирд┐рдпрд╛рджреА рд╕реЙрдХреЗрдЯ рд╣реИред
рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рдореИрдВрдиреЗ рдЬреЛрдбрд╝реА рд╣реИ рд╡рд╣ рд╣реИ .ebextensions рдореЗрдВ .config рдлрд╝рд╛рдЗрд▓, рдЬрд┐рд╕рдореЗрдВ рдореИрдВрдиреЗ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдкрд╣рд▓реЗ рдЙрджреНрдзреГрдд рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдИ рдереАред
рддреЛ рдореЗрд░реЗ рдкрд╛рд╕ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХреБрдЫ рдирд╣реАрдВ рд╣реИ :)

рдХреЛрдИ рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ, рдХреЛрдб рдпрд╛ рд▓реЙрдЧ рдХреЗ рдмрд┐рдирд╛ рдбреАрдмрдЧ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдХреНрдпрд╛ рдЖрдк рд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рд╢рд╛рдпрдж рдпрд╣рд╛рдВ рдкрд░ рдЯрд┐рдХреЗ рд░рд╣рдирд╛ рдЙрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ, рд╢рд╛рдпрдж рдЙрдиреНрд╣реЗрдВ рдкреЗрд╕реНрдЯ рдмрд┐рди рдореЗрдВ рдбрд╛рд▓ рджреЗрдВред

рд╢реБрдХреНрд░, 4 рд╕рд┐рддрдВрдмрд░, 2015 рдХреЛ рдЕрдкрд░рд╛рд╣реНрди 3:26 рдмрдЬреЗ, рдЯреНрд░реЗрдпреЛрди рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдРрдк рдХреЛрдб рдПрдХ рдЕрддреНрдпрдВрдд рдмреБрдирд┐рдпрд╛рджреА рд╕реЙрдХреЗрдЯ рд╣реИред
рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рдореИрдВрдиреЗ рдЬреЛрдбрд╝реА рд╣реИ рд╡рд╣ рд╣реИ .ebextensions рдореЗрдВ .config рдлрд╝рд╛рдЗрд▓, рдЬрд┐рд╕рдореЗрдВ рдореИрдВрдиреЗ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдкрд╣рд▓реЗ рдЙрджреНрдзреГрдд рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдИ рдереАред

рддреЛ рдореЗрд░реЗ рдкрд╛рд╕ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХреБрдЫ рдирд╣реАрдВ рд╣реИ :)

рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ:
https://github.com/socketio/socket.io/issues/1846#issuecomment -137749890

рд╣рдо, рдореИрдВрдиреЗ рдореИрдиреНрдпреБрдЕрд▓ рдкреИрдХреЗрдЬрд┐рдВрдЧ рдХреЗ рдмрдЬрд╛рдп рдЧреНрд░рдВрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдкрдирд╛ рдХреЛрдб рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдФрд░ рдпрд╣ рдПрдХ рдЖрдХрд░реНрд╖рдг рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╕реНрд╡рдЪрд╛рд▓рд┐рддрдХрд░рдг рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП;)

рд╕реБрди рдХреЗ рдЕрдЪреНрдЫрд╛ рд▓рдЧрд╛!

рдордВрдЧрд▓рд╡рд╛рд░, 8 рд╕рд┐рддрдВрдмрд░, 2015 рдХреЛ рдЕрдкрд░рд╛рд╣реНрди 3:14 рдмрдЬреЗ, рдЯреНрд░реЗрдпреЛрди рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рд╣рдо, рдореИрдВрдиреЗ рдореИрдиреНрдпреБрдЕрд▓ рдкреИрдХреЗрдЬрд┐рдВрдЧ рдХреЗ рдмрдЬрд╛рдп рдЧреНрд░рдВрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдкрдирд╛ рдХреЛрдб рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдФрд░ рдпрд╣ рдПрдХ рдЖрдХрд░реНрд╖рдг рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╕реНрд╡рдЪрд╛рд▓рд┐рддрдХрд░рдг рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП;)

рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ:
https://github.com/socketio/socket.io/issues/1846#issuecomment -138572724

рдореЗрд░рд╛ рджрд┐рди рдмрдЪрд╛рдУ!

рд╣рдордиреЗ рдЗрд╕ рдмреБрдирд┐рдпрд╛рджреА рдореБрджреНрджреЗ рдХреЛ рднреА рджреЗрдЦрд╛ред рдореВрд▓ рд░реВрдк рд╕реЗ, рдХреНрдпреЛрдВрдХрд┐ рд╕реЙрдХреЗрдЯрд┐рдпреЛ рд╡реЗрдмрд╕реЛрдХреЗрдЯ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рдЕрдиреБрд░реЛрдз рднреЗрдЬрддрд╛ рд╣реИ, рдпрджрд┐ рд╡реЗ рдХреЙрд▓ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рдлрд╝реЗрдбрд░реЗрдЯреЗрдб рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╕рддреНрд░ рдЖрдИрдбреА рдХреА рдкрд╣рдЪрд╛рди рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ рд╣реИрдВрдбрд╢реЗрдХ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рд╕реЙрдХреЗрдЯрд┐рдпреЛ рд▓рдВрдмреЗ рдорддрджрд╛рди рдореЗрдВ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╕рдЪ рд╣реИ рдХрд┐ рдЖрдк ws рдпрд╛ wss рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВ; рдпрд╣ рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рд▓реЗрдпрд░ -4 (рдЯреАрд╕реАрдкреА) рдкрд░ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд┐рдВрдЧ рд╕реЗрдЯ рдХреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рд╡реЗрдмрд╕реЛрдХреЗрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЗрдпрд░ -7 (рдПрдЪрдЯреАрдЯреАрдкреА) рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд┐рдВрдЧ рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрд╛ред

рдлрд┐рдХреНрд╕ рд╕реНрдЯрд┐рдХреА рд╕рддреНрд░реЛрдВ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрдЧрд╛, рддрд╛рдХрд┐ рдПрдХ рдмрд╛рд░ рдХреЙрд▓ рдХреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдЙрди рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдЙрд╕реА рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдкрд░ рднреЗрдЬрдирд╛ рдЬрд╛рд░реА рд░рдЦреЗ; рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдк AWS рдХреЗ ELB рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рд╡реЗ рдЖрдкрдХреЛ рд▓реЗрдпрд░-4 рд▓реЛрдб рд╕рдВрддреБрд▓рди рдХреЗ рд▓рд┐рдП рд╕реНрдЯрд┐рдХреА рд╕рддреНрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВред

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

рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдкрд░ рдПрдХ рдлрд┐рдХреНрд╕ рд╕реНрдЯрд┐рдХреА рд╕рддреНрд░реЛрдВ рдХреЛ рдкрд░рдд -4 рд▓реЛрдб рд╕рдВрддреБрд▓рди рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдирд╛ рд╣реЛрдЧрд╛ред

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

рд╕рднреА рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рд╕рддреНрд░ рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд░реЗрдбрд┐рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рд╕реБрдзрд╛рд░ рд╣реЛрдЧрд╛ред рдореИрдВрдиреЗ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред

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

@aidanbon рдореБрдЭреЗ Proxy server to be "none" in the Software Configuration section ?

рдореИрдВ рдмрд╕ рдПрдордпреВрдкреА рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рд╕рд╛рде рдПрдХ рдЙрдмрдВрдЯреВ рд╕рд░реНрд╡рд░ рдФрд░ рдЙрд▓реНрдХрд╛ рдЬреЗрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ .. рдХреНрдпрд╛ рдЖрдк рдореБрдЭреЗ рдПрдХ рд▓рд┐рдВрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ??

рдЪрд┐рдпрд░реНрд╕

@sahanDissanayake рдореБрдЭреЗ рдЕрдкрдирд╛ рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡рд┐рдХрд▓реНрдк рдЗрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдорд┐рд▓рд╛:

  1. рд░реБрдЪрд┐ рдХреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ "рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
  2. рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреГрд╖реНрда рдХреЗ рднреАрддрд░ рд╕реЗ "рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
  3. "рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡рд░" рдбреНрд░реЙрдк-рдбрд╛рдЙрди рдЬреИрд╕рд╛ рдХрд┐ рдореЗрд░реЗ рдкрд┐рдЫрд▓реЗ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

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

@aidanbon рдореИрдВ ec2 рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ .. рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрд░реЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд╣реАрдВ рд╣реИрдВ? рдпрд╛ рдХреНрдпрд╛ рдореБрдЭреЗ рдЗрд╕ рдкреЙрдХреНрд╕реА рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?

рддреЛ рдореЗрд░реЗ рдкрд╛рд╕ рдЬреЛ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдореЗрд░рд╛ рд╡реЗрдм рдРрдк рд╡реЗрдмрд╕реЛрдХреЗрдЯ рдкреЛрд░реНрдЯ 8080 рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкреЛрд░реНрдЯ 80 рдореЗрдВ рдирд╣реАрдВред

рдпрд╣ рд╣реИ рдореБрджреНрджрд╛

@lostcolony рд╕рд╛рд░рд╛рдВрд╢ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ рдЙрд╕реА рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдкрд╣реБрдВрдЪрд╛ рд╣реВрдВред рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЗрд╕ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдХреЛ рдкрдврд╝рд╛ рд╣реИ: https://medium.com/@Philmod/load -balancing-websockets-on-ec2-1da94584a5e9#.hd2ectz8t? рд╡рд╣ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдХрд╣ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдХреЛрдИ HAProxy рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реЗрдпрд░ -4 (TCP) рдХреЛ рдкрд╛рд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рддрдм PROXY рд╣реЗрдбрд░ рдХреЛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ рдФрд░ рд╕реНрдЯрд┐рдХреА рд╕реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рд╕рд╣реА рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдкрд░ рд░реВрдЯ рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреИрд╕реЗ рджреЛ HAProxy рдЕрдкрдиреА "рдмреИрдХрдПрдВрдб" рд╕рд░реНрд╡рд░ рд╕реВрдЪреА рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдХрд╣рд╛рдВ рдЪрд▓рддрд╛ рд╣реИ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реЙрдХреЗрдЯ.рдЖрдИрдУ рд╕рд░реНрд╡рд░ рдХрд╣рд╛рдВ рдЪрд▓рддрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдЗрд╕рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ?

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЕрднреА рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛ рд╣реИред рд╡рд╣ рд╕реВрдЪреА рдЬрд╛рдирддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЙрд╕рдХреЗ рдкрд╛рд╕ рд╕рд░реНрд╡рд░реЛрдВ рдХрд╛ рдПрдХ рдЬреНрдЮрд╛рдд рд╕реЗрдЯ рд╣реИ рдФрд░ рдЙрд╕реЗ рдСрдЯреЛ-рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХреА рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рд╣реИ ...

рд╕рд░реНрд╡рд░ рд╕реВрдЪреА рдХреЛ рдкреНрд░рддреНрдпреЗрдХ HAproxy рдмреЙрдХреНрд╕ рдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреИрд╕реЗ
рдСрдЯреЛ рд╕реНрдХреЗрд▓рд┐рдВрдЧ ec2 рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЙрд╕ рдХрд╛рдо рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬрдм рддрдХ рдХрд┐ рдЖрдкрдиреЗ рдХреБрдЫ рд▓рд┐рдЦрд╛ рди рд╣реЛ
рдЬрдм рдХреЛрдИ рдирдпрд╛ рд╕рд░реНрд╡рд░ рдЖрдпрд╛ рддреЛ рдЙрд╕ рд╕реВрдЪреА рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рдЖрдзрд╛рд░рднреВрдд рд╕рдВрд░рдЪрдирд╛
рдСрдирд▓рд╛рдЗрдиред Socket.io рд╡реЗ рдЕрдкрдиреЗ рд╡реЗрдм рдРрдк рдХреЗ рд╕рдорд╛рди рд╕рд░реНрд╡рд░ рдкрд░ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП
рдХрдиреЗрдХреНрд╢рди рдПрд▓реНрдм рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрддреЗ рд╣реИрдВ, рдПрдХ HAproxy рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕рдВрдШрдмрджреНрдз рд╣реЛрддреЗ рд╣реИрдВ,
HAproxy рдЙрджрд╛рд╣рд░рдг рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ IP рдХрдиреЗрдХреНрд╢рди рд╣рдореЗрд╢рд╛ рдЙрд╕реА рдкрд░ рдЬрд╛рдПрдВ
web/app рд╕рд░реНрд╡рд░, рдЬрд╣рд╛рдВ рдкрд░ socket.io рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреА рдЧрдИ рдереАред
13 рдЬрдирд╡рд░реА 2016 рдХреЛ рдкреВрд░реНрд╡рд╛рд╣реНрди 2:50 рдмрдЬреЗ, "рдлреЗрд▓рд┐рдХреНрд╕ рд╢реНрд▓рд┐рдЯрд░" рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

@lostcolony https://github.com/lostcolony рд╕рд╛рд░рд╛рдВрд╢ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ
рдЗрд╕реА рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдкрд╣реБрдВрдЪреЗ рд╣реИрдВред рдХреНрдпрд╛ рдЖрдкрдиреЗ рдпрд╣ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдкрдврд╝рд╛ рд╣реИ:
https://medium.com/@Philmod/load -balancing-websockets-on-ec2-1da94584a5e9#.hd2ectz8t?
рд╡рд╣ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдХрд╣ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рдкрд░рдд -4 (рдЯреАрд╕реАрдкреА) рд╕реЗ рд╣реЛрдХрд░ a . рддрдХ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
HAProxy рдЙрджрд╛рд╣рд░рдг, рдЬреЛ рддрдм PROXY рд╣реЗрдбрд░ рдХреЛ рд╣рдЯрд╛рддрд╛ рд╣реИ рдФрд░ рд░реВрдЯ рдХрд░рддрд╛ рд╣реИ
рд╕реНрдЯрд┐рдХреА рд╕реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд╣реА рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЯреНрд░реИрдлрд╝рд┐рдХред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдирд╣реАрдВ рд╣реИ
рдореЗрд░реЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдХреИрд╕реЗ рджреЛ HAProxy рдХреЛ рдЙрдирдХреА "рдмреИрдХрдПрдВрдб" рд╕рд░реНрд╡рд░ рд╕реВрдЪреА рдорд┐рд▓рддреА рд╣реИ
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХрд╣рд╛рдВ рдЪрд▓рддрд╛ рд╣реИ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реЙрдХреЗрдЯ.рдЖрдИрдУ рд╕рд░реНрд╡рд░ рдХрд╣рд╛рдВ рдЪрд▓рддрд╛ рд╣реИред
рдХреНрдпрд╛ рдЖрдк рдЗрд╕рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ?

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/socketio/socket.io/issues/1846#issuecomment -171208211
.

@lostcolony рдареАрдХ рд╣реИ, рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ HAProxy рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдореЗрдЬрд╝реЕрди рдкрд░ рдСрдЯреЛ-рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдкрд░рд┐рдпреЛрдЬрдирд╛ рдереА - рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо рдЙрдкрдпреЛрдЧреА: https://github.com/markcaudill/haproxy-autoscaleред рдЬреЛ рдореБрдЭреЗ рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ HAProxy рдХреЗ рд╕рд╛рдордиреЗ ELB рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдХрд░реЗрдВ? рдХреЗрд╡рд▓ рдПрдХ HAProxy рдЗрдВрд╕реНрдЯреЗрдВрд╕ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрдиреНрдпрдерд╛, рдЖрдк рдХреИрд╕реЗ рдЧрд╛рд░рдВрдЯреА рджреЗрдВрдЧреЗ рдХрд┐ ELB рд╕рд╣реА HAProxy рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдкрд░ рдЯреНрд░реИрдлрд╝рд┐рдХ рднреЗрдЬрддрд╛ рд╣реИ? рдЬрдм рддрдХ рд╡реЗ (HAProxy рдЗрдВрд╕реНрдЯреЗрдВрд╕реЗрд╕) рдХрд┐рд╕реА рднреА рддрд░рд╣ ElastiCache рдпрд╛ Redis рдпрд╛ рдЙрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЖрдо рдЪрд┐рдкрдЪрд┐рдкрд╛ рддрд╛рд▓рд┐рдХрд╛ рд╕рд╛рдЭрд╛ рдирд╣реАрдВ рдХрд░рддреЗ? ... рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рд╡рд┐рд╖рдп рд╕реЗ рджреВрд░ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред

рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ IP рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдХрдиреЗрдХреНрд╢рди рдХреЛ рд░реВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП HAProxy рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
рдЧрд╛рд░рдВрдЯреА рджреЗ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрд╕реА рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╕рдорд╛рдкреНрдд рд╣реЛрдЧрд╛ред рдЕрд░реНрдерд╛рддреН, рдпрджрд┐ HAProxies
рд╕рднреА рдХрд╛ рдПрдХ рд╣реА рдирд┐рдпрдо рдерд╛ рдХрд┐ рдЖрдИрдкреА рдПрдмреАрд╕реАрдбреА рдХреЛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ,
рдлрд┐рд░ рдЗрд╕ рдмрд╛рдд рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рдХрд┐ рдИрдПрд▓рдмреА рдХрд┐рд╕ HAProxy рд╕реЗ рдЯрдХрд░рд╛рдПрдЧрд╛, рдпрд╣ рдЙрд╕реА рдкрд░ рд╕рдорд╛рдкреНрдд рд╣реЛрдЧрд╛
рдЬрдЧрд╣ред рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рднреЗрдЬреЗ рдЧрдП рдЙрд╕ рд▓рд┐рдВрдХ рдореЗрдВ рдпрд╣реА рд╣реЛ рд░рд╣рд╛ рд╣реИ, рд╡реЗ рд╕рдВрддреБрд▓рди рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ
рд╕реНрд░реЛрдд рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ HAProxy рдЙрджрд╛рд╣рд░рдг IP рдХреЛ рд╣реИрд╢ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ
рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВ рдХрд┐ рдпрд╣ рдХрд┐рд╕ рдЙрджрд╛рд╣рд░рдг рдкрд░ рдЬрд╛рддрд╛ рд╣реИред рдПрдХрд╛рдзрд┐рдХ HAProxy, рдмрд╢рд░реНрддреЗ рд╡реЗ рд╕рднреА
рдПрдХ рд╣реА рдЙрджрд╛рд╣рд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдиреЗрдВ, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдПрдХ рд╕реНрдерд╛рди рд╕реЗ рдпрд╛рддрд╛рдпрд╛рдд рднреЗрдЬреЗрдВрдЧреЗ
рд╡рд╣реА рдмреИрдХрдПрдВрдб рдЙрджрд╛рд╣рд░рдгред

рдмреБрдз, 13 рдЬрдирд╡рд░реА 2016 рдЕрдкрд░рд╛рд╣реНрди 1:19 рдмрдЬреЗ, рдлреЗрд▓рд┐рдХреНрд╕ рд╢реНрд▓рд┐рдЯрд░ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

@lostcolony https://github.com/lostcolony рдареАрдХ рд╣реИ, рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рд╡рд╣рд╛рдБ рдПрдХ рдерд╛
рдЕрдореЗрдЬрд╝реЕрди рдкрд░ рдСрдЯреЛ-рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдк рдкрд░рд┐рдпреЛрдЬрдирд╛, HAProxy рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ -
рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо рдЙрдкрдпреЛрдЧреА:
https://github.com/markcaudill/haproxy-autoscaleред рдореБрдЭреЗ рдЬреЛ рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИ рд╡рд╣ рдХреНрдпреЛрдВ рд╣реИ
HAProxy рдХреЗ рд╕рд╛рдордиреЗ ELB рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ? рдХреЗрд╡рд▓ рдПрдХ HAProxy рдЙрджрд╛рд╣рд░рдг рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП,
рдЕрдиреНрдпрдерд╛, рдЖрдк рдХреИрд╕реЗ рдЧрд╛рд░рдВрдЯреА рджреЗрдВрдЧреЗ рдХрд┐ рдИрдПрд▓рдмреА рдпрд╛рддрд╛рдпрд╛рдд рдХреЛ рджрд╛рдИрдВ рдУрд░ рднреЗрдЬрддрд╛ рд╣реИ
рд╣реИрдкреНрд░реЛрдХреНрд╕реА рдЙрджрд╛рд╣рд░рдг? рдЬрдм рддрдХ рд╡реЗ (HAProxy рдЙрджрд╛рд╣рд░рдг) рдПрдХ рд╕рд╛рдЭрд╛ рд╕рд╛рдЭрд╛ рдирд╣реАрдВ рдХрд░рддреЗ
рдЪрд┐рдкрдЪрд┐рдкрд╛ рддрд╛рд▓рд┐рдХрд╛ рдХрд┐рд╕реА рддрд░рд╣ рдЗрд▓рд╛рд╕реНрдЯреА рдХреИрд╢ рдпрд╛ рд░реЗрдбрд┐рд╕ рдпрд╛ рдЙрдирдХреЗ рд╕рд╛рде рдХреБрдЫ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реА рд╣реИ
рд▓рд╛рдЗрдиреЗрдВ? ... рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рд╡рд┐рд╖рдп рд╕реЗ рджреВрд░ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/socketio/socket.io/issues/1846#issuecomment -171386260
.

@lostcolony рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рд╣реИрд╢ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдЖрдИрдкреА рдХреЗ рд▓рд┐рдП рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╡реНрдпреБрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, "рд╣реИрд╢ -> рдЗрдВрд╕реНрдЯреЗрдВрд╕" рдХрд╛ рдорд╛рдирдЪрд┐рддреНрд░рдг рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрдк рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдПрдХ рдирд┐рдпрдо рд╣реИ рдЬреЛ рдХрд╣ рд░рд╣рд╛ рд╣реИ рдХрд┐ "рдПрдмреАрд╕реАрдбреА рдХреЛ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ", рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЖрдк рдирд╣реАрдВ рдЪрд╛рд╣реЗрдВрдЧреЗ рдХрд┐ HAProxy рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗ рдХрд┐ рдЙрдкрд▓рдмреНрдз рд╕рд░реНрд╡рд░реЛрдВ рдХреА рд╕реВрдЪреА рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд╣рд╛рдВ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП? рдЖрдЦрд┐рд░рдХрд╛рд░, "рдПрдмреАрд╕реАрдбреА" рдХреЗрд╡рд▓ рдХреБрдЫ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рдЖрдИрдкреА рд╣реИ рдФрд░ рд╕рд╛рдордиреЗ рд╕реЗ рдЬреНрдЮрд╛рдд рдирд╣реАрдВ рд╣реИред

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

рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирдХрд▓реА рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП (HAProxy рдХреБрдЫ рдРрд╕рд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ
рдЙрдореНрдореАрдж рдХреЗ рдореБрддрд╛рдмрд┐рдХ, рдореБрдЭреЗ рдпрдХреАрди рд╣реИ), рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рддреАрди рд╕рд░реНрд╡рд░ рд╣реИрдВ, рдЬреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рд╣реИрдВ
рд╕рд░реНрд╡рд░0, рд╕рд░реНрд╡рд░1 рдФрд░ рд╕рд░реНрд╡ 2 рдХреЗ рдХреНрд░рдо рдореЗрдВ (рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд┐рд╡рд░рдг рдХреЛрдИ рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддрд╛,
рдмрд╕ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдЖрджреЗрд╢ рд╣реИ, рдирд┐рд╣рд┐рдд рдареАрдХ рд╣реИ)ред рд╣рд░ рд╣реИрдкреНрд░реЛрдХреНрд╕реА
рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдореЗрдВ рд╕рдорд╛рди рд╕рд░реНрд╡рд░ рд╣реИрдВ, рдЙрд╕реА рдХреНрд░рдо рдореЗрдВред рдЙрдирдХреЗ рдкрд╛рд╕ рднреА рд╡рд╣реА рд╣реИ
рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЖрдИрдкреА рдкрддреЗ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рдпрдоред рдЗрд╕ рддреБрдЪреНрдЫ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
рдпрд╣ рдкрддреЗ рдХреЗ рд╕рднреА рдЪрд╛рд░ рднрд╛рдЧреЛрдВ рдХреЛ рдкреВрд░реНрдгрд╛рдВрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИ (рдЖрд╕рд╛рдиреА рд╕реЗ рдПрдХреНрд╕реНрдЯреЗрдВрд╕рд┐рдмрд▓ to
IPv6 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ, рд╕рднреА рдХреЛ рд╣реЗрдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдзрд╛рд░ 10 рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ), рдФрд░ 3 рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реЗрдВ, рд▓реЗрдВ
рд╢реЗрд╖ред рддреЛ рдЖрдИрдкреА 123.12.61.24 = (123+12+61+24)% 3, рдпрд╛ 1. рддреЛ рдпрд╣ рд░реВрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ
рд╕рд░реНрд╡рд░1 рдХреЗ рд▓рд┐рдПред рддреЛ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ HAProxy рдЙрджрд╛рд╣рд░рдг рдХрд┐рд╕рдореЗрдВ рдЖрддрд╛ рд╣реИ, рдХрд┐
рдХрдиреЗрдХреНрд╢рди рд╕рд░реНрд╡рд░1 рдХреЛ рднреЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЕрдм, рдпрджрд┐ рд╕рд░реНрд╡рд░1 рдСрдлрд╝рд▓рд╛рдЗрди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдПрд▓реНрдЧреЛрд░рд┐рдердо рд╕рднреА HAProxy рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ
рдЙрджрд╛рд╣рд░рдг, рд╕рднреА рднрд╛рдЧреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдорд╛рдкрд╛рдВрдХ 2.

рдФрд░ рдпрд╣ рдЖрдо рддреМрд░ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ-рдЬрдм рддрдХ- рдЖрдкрдХреЛ рдиреЗрдЯрд╕реНрдкреНрд▓рд┐рдЯ рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИ (рдпрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ
рдПрдХ рдЕрд▓рдЧ рд╕рд░реНрд╡рд░ рд╕реВрдЪреА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП HAProxy рдЙрджрд╛рд╣рд░рдг)ред рдЬрд╣рд╛рдВ рдПрдХ HAProxy рджреЗрдЦрддрд╛ рд╣реИ
3 рдЙрджрд╛рд╣рд░рдг, рдФрд░ рджреВрд╕рд░рд╛ 2 рджреЗрдЦрддрд╛ рд╣реИред рдпрджрд┐ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреА рдЬрд╛ рд╕рдХрддреА
рдЙрд╕реА рдмреИрдХрдПрдВрдб рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдПред рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╕рд╛рдмрд┐рдд рд╣реЛ рд╕рдХрддреА рд╣реИред рд▓реЗрдХрд┐рди
рдпрд╣реА рд╕рдорд╛рдзрд╛рди рд▓рд┐рдВрдХ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

рдмреБрдз, 13 рдЬрдирд╡рд░реА 2016 рдЕрдкрд░рд╛рд╣реНрди 3:51 рдмрдЬреЗ, рдлреЗрд▓рд┐рдХреНрд╕ рд╢реНрд▓рд┐рдЯрд░ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

@lostcolony https://github.com/lostcolony рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рд╣реИрд╢ рд╣реИ
рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдЖрдИрдкреА рдХреЗ рд▓рд┐рдП рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╡реНрдпреБрддреНрдкрдиреНрди, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рдорд╛рдирдЪрд┐рддреНрд░рдг рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
"рд╣реИрд╢ -> рдЙрджрд╛рд╣рд░рдг" рдХрд╛ред рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрдк рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдПрдХ рдирд┐рдпрдо рд╣реИ рдХрд┐
рдпрд╣ рдХрд╣рддреЗ рд╣реБрдП рдХрд┐ "рдПрдмреАрд╕реАрдбреА рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢рд┐рдд рд╣реИ", рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЖрдк рдирд╣реАрдВ рдЪрд╛рд╣реЗрдВрдЧреЗ
HAProxy рдЦреБрдж рдХреЛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХрд╣рд╛рдВ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд░рдирд╛ рд╣реИ, рдЙрдкрд▓рдмреНрдз рдХреА рдПрдХ рд╕реВрдЪреА рджреА рдЧрдИ рд╣реИ
рд╕рд░реНрд╡рд░? рдЖрдЦрд┐рд░рдХрд╛рд░, "рдПрдмреАрд╕реАрдбреА" рдХреЗрд╡рд▓ рдХреБрдЫ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рдЖрдИрдкреА рд╣реИ рдФрд░ рдЬреНрдЮрд╛рдд рдирд╣реАрдВ рд╣реИ
рд╕рд╛рдордиреЗред

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/socketio/socket.io/issues/1846#issuecomment -171428465
.

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

screen shot 2016-03-08 at 16 08 34

рдПрдХ рдмрд╛рд░ рдЗрд╕реЗ рд╕реЙрд░реНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛ .ebextensions рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рд╕рднреА рдореЗрд░реЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ :)

container_commands:
  01_nginx_static:
    command: |
      sed -i '/\s*proxy_set_header\s*Connection/c \
              proxy_set_header Upgrade $http_upgrade;\
              proxy_set_header Connection "upgrade";\
          ' /tmp/deployment/config/#etc#nginx#conf.d#00_elastic_beanstalk_proxy.conf

рдпрд╣ рдХреЗрд╡рд▓ 100% рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЪрд┐рдкрдЪрд┐рдкрд╛ рд╕рддреНрд░ рд╕рдорд░реНрдерди рдЯреАрд╕реАрдкреА рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

@lostcolony , @williamcoates рдкреЛрд╕реНрдЯ рдиреЗ рдЕрднреА рдореБрдЭреЗ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛рдж рджрд┐рд▓рд╛рдпрд╛ред рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдореИрдВ рдРрд╕рд╛ рдХрд░рдирд╛ рднреВрд▓ рдЧрдпрд╛ред рдЖрдкрдХрд╛ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХрд╛рдлреА рдорджрджрдЧрд╛рд░ рдерд╛, рдЗрд╕рд▓рд┐рдП рд╕рдордп рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рддреЛ рдореБрдЭреЗ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рдереА рдФрд░ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдореИрдВрдиреЗ HTTPS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ECB рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреА рдереАред
рдореИрдВрдиреЗ рдПрдЪрдЯреАрдЯреАрдкреАрдПрд╕ рдХреЛ рдПрд╕рдПрд╕рдПрд▓ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рдЕрдм рд╕рдВрджреЗрд╢ рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдХреЗрд╡рд▓ HTTP/HTTPS рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ рд▓реЗрдХрд┐рди TCP/SSL

рдЕрдЧрд╕реНрдд 2016 рддрдХ рдЖрдк "рдХреНрд▓рд╛рд╕рд┐рдХ" рдИрдПрд▓рдмреА рдХреЗ рдмрдЬрд╛рдп рдЕрдореЗрдЬрд╝реЕрди рдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ (рдПрдПрд▓рдмреА) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред HTTP 80 рдФрд░ HTTPS 443 рдкрд░ рд╢реНрд░реЛрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдореЗрд░реЗ рд▓рд┐рдП "рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░" рдХрд╛рдо рдХрд┐рдпрд╛ред

@ trans1t рдкреНрдпрд╛рд░реЗ рдЖрджрдореА, рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдореБрдЭреЗ рдЙрд╕рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреА рд╣реЛрдЧреАред

@niczak - рдореИрдВрдиреЗ рд╕реЙрдХреЗрдЯ рдЯреНрд░реИрдлрд┐рдХ рдЪрд┐рдкрдЪрд┐рдкрд╛рд╣рдЯ рдХреЗ рд▓рд┐рдП

@aidanbon рдпрд╣ рд╢рд╛рдирджрд╛рд░ рдЬрд╛рдирдХрд╛рд░реА рд╣реИ, рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж!

рдХрд┐рд╕реА рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдЬрд┐рд╕реЗ рдЕрднреА рднреА AWS рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдЕрдкрдиреА рд╕реБрд░рдХреНрд╖рд╛ рдиреАрддрд┐ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рдореИрдВ рдЙрд╕реА рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛, рднрд▓реЗ рд╣реА рдпрд╣ рдХрд┐рд╕реА рдЕрдиреНрдп рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рд╕рдЯреАрдХ рд╕реЗрдЯрдЕрдк рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдареАрдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛, рд▓реЗрдХрд┐рди рджреЗрдЦрд╛ рдХрд┐ рд╕реБрд░рдХреНрд╖рд╛ рдиреАрддрд┐ рд▓рдЧрднрдЧ 1 рд╡рд░реНрд╖ рдкреАрдЫреЗ рдереАред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдПрдХ рдирдП рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИ рд╣реИред

@michaelmitchell рдХреНрдпрд╛ рдЖрдкрдиреЗ рдХреБрдЫ рднреА рдмрджрд▓рд╛ рд╣реИ, рдпрд╛ рдмрд┐рдирд╛ рд╕рдВрд╢реЛрдзрди рдХреЗ рдЗрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рд╣реИ?

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

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

рдЬрд╛рдирдХрд░ рдЕрдЪреНрдЫрд╛ рд▓рдЧрд╛, рдзрдиреНрдпрд╡рд╛рдж!

рд▓реЗ рд╡реЗрдиред 31 рдорд╛рд░реНрдЪ 2017 12:02, рдорд╛рдЗрдХрд▓ рдорд┐рд╢реЗрд▓ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com a
рдЗрдХреНрд░рд┐рдЯ:

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

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

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдереАред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/socketio/socket.io/issues/1846#issuecomment-290672158 ,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/ADrIi_SXqccWOLUMIWF1IhClGXvKAGMcks5rrM8sgaJpZM4C0swP
.

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдзрд╛рдЧрд╛ AWS/socket.io рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХрд╛ рд╕реНрдерд╛рди рдмрди рдЧрдпрд╛ рд╣реИ-

рдореЗрд░рд╛ рд╕реЗрдЯрдЕрдк рдпрд╣ рд╣реИ рдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдХ socket.io рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдПрдХ HTTPS рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИред
HTTPS рдЕрдиреБрд░реЛрдз рдХреЛ рд╕реНрдЯрд┐рдХреА рд╕рддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдХреБрдХреАрдЬрд╝ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдиреА рдЪрд╛рд╣рд┐рдПред рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ socket.io рдХрдиреЗрдХреНрд╢рди рдореЗрдВ cookie рд╣реЗрдбрд░ рдкрд╛рд╕ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реВрдВред

рдореИрдВ рдЗрди рд╢реНрд░реЛрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде ALB рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ:
image

рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рдЪрд┐рдкрдЪрд┐рдкрд╛рд╣рдЯ рд╡рд╛рд▓реЗ рд▓рдХреНрд╖реНрдп рд╕рдореВрд╣ рдХреЛ рдХреМрди рд╕рд╛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ:
image

рдореИрдВрдиреЗ рдкрд╣рд▓реЗ HTTPS рдПрдВрдбрдкреЙрдЗрдВрдЯ рдорд╛рд░рд╛:

fetch(`https://${url}/hub/api/spinup/${uuid}`, {
                method: 'GET',
                headers: headers,
            })

рдлрд┐рд░ рд╕реЙрдХреЗрдЯ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░реЗрдВ

connection = io(`wss://${url}:443/`, {
            path: `/user/${uuid}/spawn`,
        })

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП HTTPS рдЕрдиреБрд░реЛрдз _must_ рдХреЛ рд╣рд┐рдЯ рдХрд░рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕реЙрдХреЗрдЯ рдХрдиреЗрдХреНрд╢рди рд╣рд┐рдЯ рд╣реЛрддрд╛ рд╣реИред

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

рдореЗрд░реА рдкрд╣рд▓реА рд╡реГрддреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ

connection = io(`wss://${url}:443/`, {
    path: `/user/${uuid}/spawn`,
    extraHeaders: {
        cookie: cookieValueFromFetchResponse
    }
})

рдпрд╣ node рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ , рд▓реЗрдХрд┐рди рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ cookie XMLHTTPRequests рдкрд░ рдирд┐рд╖рд┐рджреНрдз рд╣реЗрдбрд░ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕реЗ рд╕рд╛рде рднреЗрдЬрдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реВрдВред

рдХреНрдпрд╛ рдХрд┐рд╕реА рдиреЗ рдХреБрдЫ рдРрд╕рд╛ рд╣реА рдХрд┐рдпрд╛ рд╣реИ?

рдореИрдВрдиреЗ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди, рдЬрдмрдХрд┐ рдПрдПрд▓рдмреА рдореЗрдВ рдЕрднреА рднреА рд╣реЗрдбрд░ рдЖрдзрд╛рд░рд┐рдд рд░реВрдЯрд┐рдВрдЧ рдирд╣реАрдВ рд╣реИ, рдЙрдирдХреЗ рдкрд╛рд╕ рд╣реЛрд╕реНрдЯ рдЖрдзрд╛рд░рд┐рдд рд░реВрдЯрд┐рдВрдЧ рд╣реИред рдпрд╣ рдмреЗрд╣рдж рд╣реИрдХрд┐рд╢ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдореВрд▓ рд░реВрдк рд╕реЗ рдЗрд╕реЗ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдПрдПрд▓рдмреА рдХреЗ рдкреАрдЫреЗ рдкреНрд░рддреНрдпреЗрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдкрд╛рд╕ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдкрде рд╣реЛ, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рдЬрд╛рдирддрд╛ рд╣реЛред рдЬрдм рд╡рд╣ рдкреНрд░рд╛рд░рдВрднрд┐рдХ HTTP рдЕрдиреБрд░реЛрдз рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рдкрде рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рд╡реЗрдмрд╕реЛрдХреЗрдЯ рдХреЗ рдХрдиреЗрдХреНрд╢рди рдореЗрдВ рд╡рд╣ рдкрде рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИред рдпрд╛рдиреА, HTTP рдЕрдиреБрд░реЛрдз рдЗрдВрд╕реНрдЯреЗрдВрд╕ '5' рд╣рд┐рдЯ рдХрд░рддрд╛ рд╣реИ (рдЬреЛ рднреА рдорд╛рдирджрдВрдб рдХреЗ рдЖрдзрд╛рд░ рдкрд░; рдЬреЗрдирд░реЗрдЯ рдХрд┐рдП рдЧрдП рдпреВрдпреВрдЖрдИрдбреА рдмреЗрд╣рддрд░ рд╣реЛрдВрдЧреЗ), рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ '5' рджреЗрддрд╛ рд╣реИ, рдФрд░ рд╡реЗрдмрд╕реНрдХреЗрдЯ рдпреВрдЖрд░рдПрд▓/5 рдкрд░ рдЦреЛрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдПрд▓рдмреА рдХрд╛ рдПрдХ рдирд┐рдпрдо рд╣реИ рдХрд┐ рдпреВрдЖрд░рдПрд▓/5 рдХреЛ рдЙрджрд╛рд╣рд░рдг 5 рдкрд░ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдпрджрд┐ рдЖрдк рдСрдЯреЛ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рдФрд░ рдЖрдкрдХреЗ рдЙрджрд╛рд╣рд░рдг рдорд╡реЗрд╢реА рдирд╣реАрдВ рдкрд╛рд▓рддреВ рдЬрд╛рдирд╡рд░ рд╣реИрдВ), рддреЛ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рдЙрджрд╛рд╣рд░рдг рдкрд░ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рддрд╛рдХрд┐ рдЙрдкрдпреБрдХреНрдд рдбреЛрдореЗрди рдХреЛ рд░реВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ALB рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред

рдпрд╣рд╛рдВ рдФрд░ рдкрдврд╝реЗрдВ: https://aws.amazon.com/blogs/aws/new-host-based-routing-support-for-aws-application-load-balancers/

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

@lostcolony рд╕рд▓рд╛рд╣ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж - рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рд▓рд╛рдпрдХ рд╣реИред

http рдЕрдиреБрд░реЛрдз рд╡рд╣ рд╣реИ рдЬреЛ рд╡реЗрдмрд╕реЛрдХреЗрдЯ рд╕рд░реНрд╡рд░ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИ (рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рджреВрд░ рд╣реИ)ред рджреЛ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдПрдХ рд╣реА рдЙрджрд╛рд╣рд░рдг рдкрд░ рд░реВрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╡реЗрдмрд╕реЛрдХреЗрдЯ рд╕рд░реНрд╡рд░ рдЙрд╕ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдкрд░ рдореМрдЬреВрдж рд╣реЛ рдЬрд┐рд╕рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ

рдЗрд╕ рд▓рд╛рдЗрди рдХреЗ рд╕рд╛рде, рдпрд╣ рдЬреНрдпреВрдкрд┐рдЯрд░ рд╕рд░реНрд╡рд░ рдХреЛ рдПрд▓реНрдм рдХреЗ рдкреАрдЫреЗ рдмреИрдардиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред

service.beta.kubernetes.io/aws-load-balancer-backend-protocol: tcp

рдЕрдЧрд░ рдХреЛрдИ рдЗрд╕ рдЯрд┐рдХрдЯ рдкрд░ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдЕрднреА HTTP2 рдЕрдХреНрд╖рдо рдХрд░ рджрд┐рдпрд╛ рд╣реИ рддреЛ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдареАрдХ рд╣реИред рдЖрдкрдХреЛ рдИрдПрд▓рдмреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдХреБрдЫ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИред

Screen Shot 2019-12-13 at 16 12 49

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

рдЕрднреА рддрдХ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдвреВрдВрдв рд╕рдХрддрд╛ рд╣реИ ...

рд╣рд╛рдп @ yoav200 ,

рдореБрдЭреЗ рдмрдЪрд╛рдУред
рдореИрдВ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рдлрдВрд╕ рдЧрдпрд╛ рд╣реВрдБред рдХреГрдкрдпрд╛ рд╕рд╣рд╛рдпрддрд╛ рдХреАрдЬрд┐рдП
рдореИрдВ websocket рдХреЗ рд▓рд┐рдП рд╕реНрдкреНрд░рд┐рдВрдЧрдмреВрдЯ 2.x рдФрд░ рд╕реЙрдХрдЬреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ
рдореИрдВрдиреЗ рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдореЗрдВ рддреИрдирд╛рдд рдЯреЙрдордХреИрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдпрд╛ рд╣реИ,
рдХреНрд▓рд╛рд╕рд┐рдХ рд▓реЛрдб рдмреИрд▓реЗрдВрд╕рд░ рдХреЗ рд╕рд╛рде рд▓реЛрдЪрджрд╛рд░ рдмреАрдирд╕реНрдЯреЙрдХ

рдЕрдм рд╕рдорд╕реНрдпрд╛ рд╣реИ
рдЖрдИрдУрдПрд╕ рдбреЗрд╡рд▓рдкрд░ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реИ, рдпрд╣ рдореЗрд░реЗ рдмреИрдХрдПрдВрдб рддрдХ рдкрд╣реБрдВрдЪрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рд╣реИрдВрдбрд╢реЗрдХ рдХреЗ рджреМрд░рд╛рди рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ
рдиреАрдЪреЗ рд╡реЗ рд▓реЙрдЧ рд╣реИрдВ рдЬреЛ рдореБрдЭреЗ рд╕реАрдПрд▓рдмреА рдФрд░ рдПрдПрд▓рдмреА рджреЛрдиреЛрдВ рдореЗрдВ рдорд┐рд▓рддреЗ рд╣реИрдВ:


2019-12-13 15:21:22.662 рдбрд┐рдмрдЧ 27543 --- [nio-8080-exec-2] oswsDispatcherServlet: GET "/wtchat/websocket", рдкреИрд░рд╛рдореАрдЯрд░={}
2019-12-13 15:21:22.701 рдбреАрдмрдЧ 27543 --- [nio-8080-exec-2] oswsssWebSocketHandlerMapping: org.springframework.web.socket.sockjs.support рдкрд░ рдореИрдк рдХрд┐рдпрд╛ рдЧрдпрд╛ред SockJsHttpRequestHandler@30c6a17
2019-12-13 15:21:22.714 рдбрд┐рдмрдЧ 27543 --- [nio-8080-exec-2] oswssthDefaultSockJsService: рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдЯреНрд░рд╛рдВрд╕рдкреЛрд░реНрдЯ рдЕрдиреБрд░реЛрдз: http://mydomain.com/wtchat/websocket рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
2019-12-13 15:21:22.716 рддреНрд░реБрдЯрд┐ 27543 --- [nio-8080-exec-2] cwcMyHandshakeHandler: рдЕрдорд╛рдиреНрдп рдЕрдкрдЧреНрд░реЗрдб рд╣реЗрдбрд░ рдХреЗ рдХрд╛рд░рдг рд╣реИрдВрдбрд╢реЗрдХ рд╡рд┐рдлрд▓: рд╢реВрдиреНрдп

2019-12-13 15:21:22.717 DEBUG 27543 --- [nio-8080-exec-2] oswsDispatcherServlet: 400 BAD_REQUEST рдкреВрд░рд╛ рдХрд┐рдпрд╛

рдЖрдкрдиреЗ рдЬреЛ рдХрд╣рд╛ рд╣реИ рдореИрдВрдиреЗ рдЙрд╕рдХрд╛ рдкрд╛рд▓рди рдХрд┐рдпрд╛ рд╣реИ
image
image

рд░реВрдЯ 53 рдореЗрдВ рдПрдХ рд░рд┐рдХреЙрд░реНрдб рд╕реЗрдЯ рдмрдирд╛рдпрд╛ рдЬреЛ рд╕реАрдзреЗ рдмреИрд▓реЗрдВрд╕рд░ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддрд╛ рд╣реИред

рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рднреА рдореБрдЭреЗ рдЙрдкрд░реЛрдХреНрдд рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рдорд╛рди рд╣реА рдорд┐рд▓ рд░рд╣рд╛ рд╣реИред

рдореБрдЭреЗ рдФрд░ рдХреНрдпрд╛ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ?

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

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

jloa picture jloa  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

karmac2015 picture karmac2015  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

kootoopas picture kootoopas  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

thebinarypenguin picture thebinarypenguin  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

rudijs picture rudijs  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ