OpenLiteSpeed тАЛтАЛрдЪреНрдпрд╛ рдЖрдд рдЖрдгрд┐ рдмрд╛рд╣реЗрд░ рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб: рд░рд┐рд╡реНрд╣рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрдЯ рдЕрдк рдХрд░рд╛

рдЕрдВрддрд░реНрдЧрдд рдиреЗрдЯрд╡рд░реНрдХрд╡рд░ рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдбрд╡рд░ рдкреНрд░реЙрдХреНрд╕реА рд░рд┐рд╡реНрд╣рд░реНрд╕ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдореА OpenLiteSpeed тАЛтАЛрдХрд╕реЗ рд╕реЗрдЯ рдХрд░реВ?

рдЖрд╢реНрдЪрд░реНрдпрд╛рдЪреА рдЧреЛрд╖реНрдЯ рдореНрд╣рдгрдЬреЗ, OpenLiteSpeed тАЛтАЛрд╕рд╛рдареА Habr├й рд╡рд░ рд╢реЛрдз рдХрд╛рд╣реАрд╣реА рджреЗрдд тАЛтАЛрдирд╛рд╣реА! рдореА рд╣рд╛ рдЕрдиреНрдпрд╛рдп рджреБрд░реБрд╕реНрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдШрд╛рдИ рдХрд░рдд рдЖрд╣реЗ, рдХрд╛рд░рдг LSWS рдПрдХ рд╕рднреНрдп рд╡реЗрдм рд╕рд░реНрд╡реНрд╣рд░ рдЖрд╣реЗ. рдорд▓рд╛ рддреЗ рддреНрдпрд╛рдЪреНрдпрд╛ рд╡реЗрдЧ рдЖрдгрд┐ рдлреЕрдиреНрд╕реА рд╡реЗрдм рдкреНрд░рд╢рд╛рд╕рди рдЗрдВрдЯрд░рдлреЗрд╕рд╕рд╛рдареА рдЖрд╡рдбрддреЗ:

OpenLiteSpeed тАЛтАЛрдЪреНрдпрд╛ рдЖрдд рдЖрдгрд┐ рдмрд╛рд╣реЗрд░ рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб: рд░рд┐рд╡реНрд╣рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрдЯ рдЕрдк рдХрд░рд╛

рдЬрд░реА OpenLiteSpeed тАЛтАЛрд╣реЗ рд╡рд░реНрдбрдкреНрд░реЗрд╕ "рдПрдХреНрд╕реАрд▓рд░реЗрдЯрд░" рдореНрд╣рдгреВрди рд╕рд░реНрд╡рд╛рдд рдкреНрд░рд╕рд┐рджреНрдз рдЕрд╕рд▓реЗ рддрд░реА, рдЖрдЬрдЪреНрдпрд╛ рд▓реЗрдЦрд╛рдд рдореА рддреНрдпрд╛рдЪрд╛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд╛рдкрд░ рджрд░реНрд╢рд╡рд┐рддреЛ. рд╡рд┐рдирдВрддреНрдпрд╛рдВрдЪреЗ рд░рд┐рд╡реНрд╣рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА (рд░рд┐рд╡реНрд╣рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА). рддреБрдореНрд╣реА рдореНрд╣рдгрддрд╛ рдХреА рдпрд╛рд╕рд╛рдареА nginx рд╡рд╛рдкрд░рдгреЗ рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рдЖрд╣реЗ? рдореА рдорд╛рдиреНрдп рдХрд░реАрди. рдкрдг рдЖрдореНрд╣реА LSWS рдЪреНрдпрд╛ рдкреНрд░реЗрдорд╛рдд рдкрдбрд▓реЛ рд╣реЗ рдЦреВрдк рджреБрдЦрдд рдЖрд╣реЗ!

рдкреНрд░реЙрдХреНрд╕реА рдХрд░рдгреЗ рдареАрдХ рдЖрд╣реЗ, рдкрдг рдХреБрдареЗ? рдХрдореА рдЖрд╢реНрдЪрд░реНрдпрдХрд╛рд░рдХ рд╕реЗрд╡реЗрдордзреНрдпреЗ - рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб. рдЦрд╛рдЬрдЧреА "рдлрд╛рдЗрд▓-рд╢реЗрдЕрд░рд┐рдВрдЧ рдХреНрд▓рд╛рдЙрдб" рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдореНрд╣реА рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб рд╡рд╛рдкрд░рддреЛ. рдкреНрд░рддреНрдпреЗрдХ рдХреНрд▓рд╛рдпрдВрдЯрд╕рд╛рдареА, рдЖрдореНрд╣реА рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдбрд╕рд╣ рдПрдХ рд╡реЗрдЧрд│рд╛ VM рд╡рд╛рдЯрдк рдХрд░рддреЛ рдЖрдгрд┐ рдЖрдореНрд╣реА рддреНрдпрд╛рдВрдирд╛ "рдмрд╛рд╣реЗрд░" рдЙрдШрдб рдХрд░реВ рдЗрдЪреНрдЫрд┐рдд рдирд╛рд╣реА. рддреНрдпрд╛рдРрд╡рдЬреА, рдЖрдореНрд╣реА рд╕рд╛рдорд╛рдиреНрдп рд░рд┐рд╡реНрд╣рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реАрджреНрд╡рд╛рд░реЗ рдкреНрд░реЙрдХреНрд╕реА рд╡рд┐рдирдВрддреА рдХрд░рддреЛ. рд╣реЗ рд╕рдорд╛рдзрд╛рди рдЕрдиреБрдорддреА рджреЗрддреЗ:
1) рдЬреНрдпрд╛ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдХреНрд▓рд╛рдпрдВрдЯ рдбреЗрдЯрд╛ рдЗрдВрдЯрд░рдиреЗрдЯрд╡рд░реВрди рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ рддреЛ рдХрд╛рдвреВрди рдЯрд╛рдХрд╛ рдЖрдгрд┐
реи) рдЖрдпрдкреА рдкрддреНрддреЗ рдЬрддрди рдХрд░рд╛.

рдЖрдХреГрддреА рдЕрд╕реЗ рджрд┐рд╕рддреЗ:

OpenLiteSpeed тАЛтАЛрдЪреНрдпрд╛ рдЖрдд рдЖрдгрд┐ рдмрд╛рд╣реЗрд░ рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб: рд░рд┐рд╡реНрд╣рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрдЯ рдЕрдк рдХрд░рд╛

рд╣реЗ рд╕реНрдкрд╖реНрдЯ рдЖрд╣реЗ рдХреА рдпреЛрдЬрдирд╛ рд╕рд░рд▓реАрдХреГрдд рдЖрд╣реЗ, рдХрд╛рд░рдг рд╡реЗрдм рд╕реЗрд╡рд╛ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдЪреА рд╕рдВрдШрдЯрдирд╛ рд╣рд╛ рдЖрдЬрдЪреНрдпрд╛ рд▓реЗрдЦрд╛рдЪрд╛ рд╡рд┐рд╖рдп рдирд╛рд╣реА.

рддрд╕реЗрдЪ рдпрд╛ рд▓реЗрдЦрд╛рдд рдореА рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдбрдЪреА рд╕реНрдерд╛рдкрдирд╛ рдЖрдгрд┐ рдореВрд▓рднреВрдд рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╡рдЧрд│рдгрд╛рд░ рдЖрд╣реЗ, рд╡рд┐рд╢реЗрд╖рдд: Habr├й рд╡рд░ рдпрд╛ рд╡рд┐рд╖рдпрд╛рд╡рд░реАрд▓ рд╕рд╛рдордЧреНрд░реА рдЕрд╕рд▓реНрдпрд╛рдиреЗ. рдкрд░рдВрддреБ рдореА рдирд┐рд╢реНрдЪрд┐рддрдкрдгреЗ рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рджрд░реНрд╢рд╡реЗрди, рддреНрдпрд╛рд╢рд┐рд╡рд╛рдп рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓реЙрдб рдкреНрд░реЙрдХреНрд╕реАрдЪреНрдпрд╛ рдорд╛рдЧреЗ рдХрд╛рд░реНрдп рдХрд░рдгрд╛рд░ рдирд╛рд╣реА.

рджрд┐рд▓реЗрдГ
рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб рд╣реЛрд╕реНрдЯ 1 рд╡рд░ рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ HTTP рд╡рд░ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗ рдЖрд╣реЗ (SSL рд╢рд┐рд╡рд╛рдп), рдлрдХреНрдд рд╕реНрдерд╛рдирд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЯрд░рдлреЗрд╕ рдЖрдгрд┐ "рдЧреНрд░реЗ" IP рдкрддреНрддрд╛ 172.16.22.110 рдЖрд╣реЗ.
рдЪрд▓рд╛ рд╣реЛрд╕реНрдЯ 2 рд╡рд░ OpenLiteSpeed тАЛтАЛрдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░реВрдпрд╛. рдпрд╛рдд рджреЛрди рдЗрдВрдЯрд░рдлреЗрд╕ рдЖрд╣реЗрдд, рдмрд╛рд╣реНрдп (рдЗрдВрдЯрд░рдиреЗрдЯрд╡рд░ рджрд┐рд╕рддреЗ) рдЖрдгрд┐ рдЕрдВрддрд░реНрдЧрдд рдиреЗрдЯрд╡рд░реНрдХрд╡рд░реАрд▓ IP рдкрддреНрддреНрдпрд╛рд╕рд╣ 172.16.22.0/24
рд╣реЛрд╕реНрдЯ 2 рдЪрд╛ рдмрд╛рд╣реНрдп рдЗрдВрдЯрд░рдлреЗрд╕ IP рдкрддреНрддрд╛ DNS рдирд╛рд╡ cloud.connect.link рдЖрд╣реЗ

рдПрдХ рдХрд╛рд░реНрдп:
рд▓рд┐рдВрдХрджреНрд╡рд╛рд░реЗ рдЗрдВрдЯрд░рдиреЗрдЯрд╡рд░реВрди рдорд┐рд│рд╡рд╛'https://cloud.connect.link' (SSL) рддреЗ рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб рдЕрдВрддрд░реНрдЧрдд рдиреЗрдЯрд╡рд░реНрдХрд╡рд░.

  • рдЙрдмрдВрдЯреВ 18.04.2 рд╡рд░ OpenLiteSpeed тАЛтАЛрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдд рдЖрд╣реЗ.

рдЪрд▓рд╛ рдПрдХ рднрд╛рдВрдбрд╛рд░ рдЬреЛрдбреВрдпрд╛:

wget -O http://rpms.litespeedtech.com/debian/enable_lst_debain_repo.sh |рд╕реБрдбреЛ рдмреЕрд╢
рд╕реБрдбреЛ apt-get рдЕрджреНрдпрддрдиреЗ

рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛, рдЪрд╛рд▓рд╡рд╛:

sudo apt-get install openlitespeed
sudo /usr/local/lsws/bin/lswsctrl рдкреНрд░рд╛рд░рдВрдн

  • рдХрд┐рдорд╛рди рдлрд╛рдпрд░рд╡реЙрд▓ рд╕реЗрдЯрдЕрдк.

    sudo ufw ssh рдкрд░рд╡рд╛рдирдЧреА рджреНрдпрд╛
    sudo ufw рдбреАрдлреЙрд▓реНрдЯ рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧрд▓рд╛ рдЕрдиреБрдорддреА рджреЗрддреЗ
    sudo ufw рдбреАрдлреЙрд▓реНрдЯ рдЗрдирдХрдорд┐рдВрдЧ рдирд╛рдХрд╛рд░рддреЗ
    sudo ufw рдкрд░рд╡рд╛рдирдЧреА рджреНрдпрд╛ HTTP
    sudo ufw рдкрд░рд╡рд╛рдирдЧреА https
    sudo ufw рдкрд╛рд╕реВрди рдкрд░рд╡рд╛рдирдЧреА рддреБрдордЪреЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдпрдЬрдорд╛рди рдХреЛрдгрддреНрдпрд╛рд╣реА рдкреЛрд░реНрдЯ 7080 рд╡рд░
    sudo ufw рд╕рдХреНрд╖рдо

  • рд░рд┐рд╡реНрд╣рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдореНрд╣рдгреВрди OpenLiteSpeed тАЛтАЛрд╕реЗрдЯ рдХрд░рд╛.
    рд╡рд░реНрдЪреНрдпреБрдЕрд▓рд╣реЛрд╕реНрдЯ рдЕрдВрддрд░реНрдЧрдд рдбрд┐рд░реЗрдХреНрдЯрд░реА рддрдпрд╛рд░ рдХрд░реВ.

    cd/usr/local/lsws/
    sudo mkdirc cloud.connect.link
    cd cloud.connect.link/
    sudo mkdir {conf,html,logs}
    sudo chown lsadm:lsadm ./conf/

LSWS рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕рд╡рд░реВрди рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рд╣реЛрд╕реНрдЯ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░реВ.
url рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЙрдШрдбрд╛ http://cloud.connect.link:7080
рдбреАрдлреЙрд▓реНрдЯ рд▓реЙрдЧрд┐рди/рдкрд╛рд╕рд╡рд░реНрдб: admin/123456

OpenLiteSpeed тАЛтАЛрдЪреНрдпрд╛ рдЖрдд рдЖрдгрд┐ рдмрд╛рд╣реЗрд░ рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб: рд░рд┐рд╡реНрд╣рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрдЯ рдЕрдк рдХрд░рд╛

рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рд╣реЛрд╕реНрдЯ рдЬреЛрдбрд╛ (рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рд╣реЛрд╕реНрдЯ > рдЬреЛрдбрд╛).
рдЬреЛрдбрддрд╛рдирд╛, рдПрдХ рддреНрд░реБрдЯреА рд╕рдВрджреЗрд╢ рджрд┐рд╕реЗрд▓ - рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓ рдЧрд╣рд╛рд│ рдЖрд╣реЗ. рд╣реЗ рд╕рд╛рдорд╛рдиреНрдп рдЖрд╣реЗ, рдХреНрд▓рд┐рдХ рдХрд░реВрди рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреНрд▓рд┐рдХ рдХрд░реВрди рд╕реЛрдбрд╡рд▓реЗ рдЬрд╛рддреЗ.

OpenLiteSpeed тАЛтАЛрдЪреНрдпрд╛ рдЖрдд рдЖрдгрд┐ рдмрд╛рд╣реЗрд░ рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб: рд░рд┐рд╡реНрд╣рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрдЯ рдЕрдк рдХрд░рд╛

рд╕рд╛рдорд╛рдиреНрдп рдЯреЕрдмрдордзреНрдпреЗ, рджрд╕реНрддрдРрд╡рдЬ рд░реВрдЯ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рд╛ (рдЬрд░реА рддреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╕рд▓реА рддрд░реА, рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рддреНрдпрд╛рд╢рд┐рд╡рд╛рдп рдмрдВрдж рд╣реЛрдгрд╛рд░ рдирд╛рд╣реА). рдбреЛрдореЗрди рдиреЗрдо, рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╕рд▓реНрдпрд╛рд╕, рдЖрднрд╛рд╕реА рд╣реЛрд╕реНрдЯ рдирд╛рд╡рд╛рд╡рд░реВрди рдШреЗрддрд▓реЗ рдЬрд╛рдИрд▓, рдЬреНрдпрд╛рд▓рд╛ рдЖрдореНрд╣реА рдЖрдордЪреЗ рдбреЛрдореЗрди рдирд╛рд╡ рджрд┐рд▓реЗ рдЖрд╣реЗ.

OpenLiteSpeed тАЛтАЛрдЪреНрдпрд╛ рдЖрдд рдЖрдгрд┐ рдмрд╛рд╣реЗрд░ рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб: рд░рд┐рд╡реНрд╣рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрдЯ рдЕрдк рдХрд░рд╛

рдЖрддрд╛ рд╣реЗ рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рдгреНрдпрд╛рдЪреА рд╡реЗрд│ рдЖрд▓реА рдЖрд╣реЗ рдХреА рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдлрдХреНрдд рд╡реЗрдм рд╕рд░реНрд╡реНрд╣рд░ рдирд╛рд╣реА рддрд░ рдЙрд▓рдЯ рдкреНрд░реЙрдХреНрд╕реА рдЖрд╣реЗ. рдЦрд╛рд▓реАрд▓ рд╕реЗрдЯрд┐рдВрдЧреНрдЬ LSWS рд▓рд╛ рдкреНрд░реЙрдХреНрд╕реА рдХрд╛рдп рдЖрдгрд┐ рдХреБрдареЗ рд╕рд╛рдВрдЧрддреАрд▓. рд╡рд░реНрдЪреНрдпреБрдЕрд▓рд╣реЛрд╕реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрдЬрдордзреНрдпреЗ, рдмрд╛рд╣реНрдп рдЕреЕрдк рдЯреЕрдм рдЙрдШрдбрд╛ рдЖрдгрд┐ рд╡реЗрдм рд╕рд░реНрд╡реНрд╣рд░ рдкреНрд░рдХрд╛рд░рд╛рдЪрд╛ рдирд╡реАрди рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЬреЛрдбрд╛:

OpenLiteSpeed тАЛтАЛрдЪреНрдпрд╛ рдЖрдд рдЖрдгрд┐ рдмрд╛рд╣реЗрд░ рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб: рд░рд┐рд╡реНрд╣рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрдЯ рдЕрдк рдХрд░рд╛

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

OpenLiteSpeed тАЛтАЛрдЪреНрдпрд╛ рдЖрдд рдЖрдгрд┐ рдмрд╛рд╣реЗрд░ рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб: рд░рд┐рд╡реНрд╣рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрдЯ рдЕрдк рдХрд░рд╛

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

OpenLiteSpeed тАЛтАЛрдЪреНрдпрд╛ рдЖрдд рдЖрдгрд┐ рдмрд╛рд╣реЗрд░ рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб: рд░рд┐рд╡реНрд╣рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрдЯ рдЕрдк рдХрд░рд╛

рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рд╛: URI = /, рд╡реЗрдм рд╕рд░реНрд╡реНрд╣рд░ = nextcloud_1 (рдорд╛рдЧреАрд▓ рдкрд╛рдпрд░реАрд╡рд░реАрд▓ рдирд╛рд╡)

OpenLiteSpeed тАЛтАЛрдЪреНрдпрд╛ рдЖрдд рдЖрдгрд┐ рдмрд╛рд╣реЗрд░ рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб: рд░рд┐рд╡реНрд╣рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрдЯ рдЕрдк рдХрд░рд╛

LSWS рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХрд░рд╛. рд╣реЗ рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕рдЪреНрдпрд╛ рдПрдХрд╛ рдХреНрд▓рд┐рдХрд╡рд░ рдХреЗрд▓реЗ рдЬрд╛рддреЗ, рдЪрдорддреНрдХрд╛рд░! (рдПрдХ рдЖрдиреБрд╡рдВрд╢рд┐рдХ рдЙрдВрджреАрд░ рд╡рд╛рд╣рдХ рдорд╛рдЭреНрдпрд╛рдордзреНрдпреЗ рдмреЛрд▓рддреЛ)

OpenLiteSpeed тАЛтАЛрдЪреНрдпрд╛ рдЖрдд рдЖрдгрд┐ рдмрд╛рд╣реЗрд░ рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб: рд░рд┐рд╡реНрд╣рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрдЯ рдЕрдк рдХрд░рд╛
OpenLiteSpeed тАЛтАЛрдЪреНрдпрд╛ рдЖрдд рдЖрдгрд┐ рдмрд╛рд╣реЗрд░ рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб: рд░рд┐рд╡реНрд╣рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрдЯ рдЕрдк рдХрд░рд╛

рдЪрд▓рд╛ рдПрдХ "рд╢реНрд░реЛрддрд╛" рддрдпрд╛рд░ рдХрд░реВ (рд╢реНрд░реЛрддреЗ > рдЬреЛрдбрд╛), рдЪрд▓рд╛ рддреНрдпрд╛рд▓рд╛ "https" рдореНрд╣рдгреВ рдпрд╛. рддреЗ рдкреЛрд░реНрдЯ 443 рд╡рд░ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рд╛ рдЖрдгрд┐ рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рд╛ рдХреА рддреЗ рд╕реБрд░рдХреНрд╖рд┐рдд рдЕрд╕реЗрд▓:

OpenLiteSpeed тАЛтАЛрдЪреНрдпрд╛ рдЖрдд рдЖрдгрд┐ рдмрд╛рд╣реЗрд░ рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб: рд░рд┐рд╡реНрд╣рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрдЯ рдЕрдк рдХрд░рд╛

SSL рдЯреЕрдмрдордзреНрдпреЗ, рдХреА рдЖрдгрд┐ рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╛рдЪрд╛ рдорд╛рд░реНрдЧ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рд╛:

OpenLiteSpeed тАЛтАЛрдЪреНрдпрд╛ рдЖрдд рдЖрдгрд┐ рдмрд╛рд╣реЗрд░ рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб: рд░рд┐рд╡реНрд╣рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрдЯ рдЕрдк рдХрд░рд╛

тАЬрд╢реНрд░реЛрддрд╛тАЭ рддрдпрд╛рд░ рдХреЗрд▓рд╛ рдЧреЗрд▓рд╛ рдЖрд╣реЗ, рдЖрддрд╛ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рд╣реЛрд╕реНрдЯ рдореЕрдкрд┐рдВрдЧ рд╡рд┐рднрд╛рдЧрд╛рдд рдЖрдореНрд╣реА рдЖрдордЪреЗ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рд╣реЛрд╕реНрдЯ рддреНрдпрд╛рдд рдЬреЛрдбреВ:

OpenLiteSpeed тАЛтАЛрдЪреНрдпрд╛ рдЖрдд рдЖрдгрд┐ рдмрд╛рд╣реЗрд░ рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб: рд░рд┐рд╡реНрд╣рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрдЯ рдЕрдк рдХрд░рд╛

LSWS рдлрдХреНрдд рдПрдХрд╛ рд╕реЗрд╡реЗрд╕рд╛рдареА рдкреНрд░реЙрдХреНрд╕реА рдХрд░рдд рдЕрд╕рд▓реНрдпрд╛рд╕, рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдкреВрд░реНрдг рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ. рдкрд░рдВрддреБ рдЖрдореНрд╣реА рдбреЛрдореЗрди рдирд╛рд╡рд╛рдЪреНрдпрд╛ рдЖрдзрд╛рд░рд╛рд╡рд░ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ "рдЗрдВрд╕реНрдЯрдиреНрд╕" рд╡рд░ рд╡рд┐рдирдВрддреНрдпрд╛ рдкрд╛рдард╡рдгреНрдпрд╛рд╕рд╛рдареА рддреЗ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдпреЛрдЬрдирд╛ рдЖрдЦрдд рдЖрд╣реЛрдд. рдЖрдгрд┐ рд╕рд░реНрд╡ рдбреЛрдореЗрдирдЪреА рд╕реНрд╡рддрдГрдЪреА рдкреНрд░рдорд╛рдгрдкрддреНрд░реЗ рдЕрд╕рддреАрд▓. рдореНрд╣рдгреВрди, рддреБрдореНрд╣рд╛рд▓рд╛ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓рд╣реЛрд╕реНрдЯ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирд╡рд░ рдЬрд╛рдгреНрдпрд╛рдЪреА рдЖрдгрд┐ SSL рдЯреЕрдмрдордзреНрдпреЗ рддреНрдпрд╛рдЪреА рдХреА рдЖрдгрд┐ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреБрдиреНрд╣рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ. рднрд╡рд┐рд╖реНрдпрд╛рдд, рд╣реЗ рдкреНрд░рддреНрдпреЗрдХ рдирд╡реАрди рдЖрднрд╛рд╕реА рд╣реЛрд╕реНрдЯрд╕рд╛рдареА рдХреЗрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ.

OpenLiteSpeed тАЛтАЛрдЪреНрдпрд╛ рдЖрдд рдЖрдгрд┐ рдмрд╛рд╣реЗрд░ рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб: рд░рд┐рд╡реНрд╣рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрдЯ рдЕрдк рдХрд░рд╛

url рдкреБрдирд░реНрд▓реЗрдЦрди рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдгреЗ рдмрд╛рдХреА рдЖрд╣реЗ рдЬреЗрдгреЗрдХрд░реВрди http рд╡рд┐рдирдВрддреНрдпрд╛ https рд▓рд╛ рд╕рдВрдмреЛрдзрд┐рдд рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддреАрд▓.
(рддрд╕реЗ, рд╣реЗ рдХреЗрд╡реНрд╣рд╛ рд╕рдВрдкреЗрд▓? рдмреНрд░рд╛рдЙрдЭрд░ рдЖрдгрд┐ рдЗрддрд░ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░рд╕рд╛рдареА рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ https рд╡рд░ рдЬрд╛рдгреНрдпрд╛рдЪреА рдЖрдгрд┐ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реНрдпрд╛рд╕ рдореЕрдиреНрдпреБрдЕрд▓реА рдиреЛ-SSL рд╡рд░ рдлреЙрд░рд╡рд░реНрдб рдХрд░рдгреНрдпрд╛рдЪреА рд╡реЗрд│ рдЖрд▓реА рдЖрд╣реЗ).
рдкреБрдирд░реНрд▓реЗрдЦрди рд╕рдХреНрд╖рдо рдХрд░рд╛ рдЖрдгрд┐ рдкреБрдирд░реНрд▓реЗрдЦрди рдирд┐рдпрдо рд▓рд┐рд╣рд╛:

RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [рдЖрд░=рейрежрез,рдПрд▓]

OpenLiteSpeed тАЛтАЛрдЪреНрдпрд╛ рдЖрдд рдЖрдгрд┐ рдмрд╛рд╣реЗрд░ рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб: рд░рд┐рд╡реНрд╣рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрдЯ рдЕрдк рдХрд░рд╛

рдПрдХрд╛ рд╡рд┐рдЪрд┐рддреНрд░ рдЧреИрд░рд╕рдордЬрд╛рдореБрд│реЗ, рдиреЗрд╣рдореАрдЪреНрдпрд╛ рдЧреНрд░реЗрд╕рдлреБрд▓ рд░реАрд╕реНрдЯрд╛рд░реНрдЯрд╕рд╣ рдкреБрдирд░реНрд▓реЗрдЦрди рдирд┐рдпрдо рд▓рд╛рдЧреВ рдХрд░рдгреЗ рдЕрд╢рдХреНрдп рдЖрд╣реЗ. рдореНрд╣рдгреВрди, рдЖрдореНрд╣реА LSWS рдХреГрдкрд╛рдкреВрд░реНрд╡рдХ рдирд╛рд╣реА рддрд░ рдЙрджреНрдзрдЯрдкрдгреЗ рдЖрдгрд┐ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдиреЗ рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХрд░реВ:

sudo systemctl lsws.service рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХрд░рд╛

рд╕рд░реНрд╡реНрд╣рд░рд▓рд╛ рдкреЛрд░реНрдЯ 80 рдРрдХрдгреНрдпрд╛рд╕рд╛рдареА, рджреБрд╕рд░рд╛ рд▓рд┐рд╕рдирд░ рддрдпрд╛рд░ рдХрд░реВрдпрд╛. рдЪрд▓рд╛ рддреНрдпрд╛рд▓рд╛ http рдореНрд╣рдгреВ рдпрд╛, 80 рд╡рд╛ рдкреЛрд░реНрдЯ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рд╛ рдЖрдгрд┐ рддреЗ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдЕрд╕реЗрд▓:

OpenLiteSpeed тАЛтАЛрдЪреНрдпрд╛ рдЖрдд рдЖрдгрд┐ рдмрд╛рд╣реЗрд░ рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб: рд░рд┐рд╡реНрд╣рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрдЯ рдЕрдк рдХрд░рд╛

https рд╢реНрд░реЛрддрд╛ рд╕реЗрдЯрд┐рдВрдЧрд╢реА рд╕рд╛рджреГрд╢реНрдпрддреЗрдиреЗ, рдЪрд▓рд╛ рдЖрдордЪреНрдпрд╛ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рд╣реЛрд╕реНрдЯрд▓рд╛ рддреНрдпрд╛рд╕ рд╕рдВрд▓рдЧреНрди рдХрд░реВрдпрд╛.

рдЖрддрд╛ LSWS рдкреЛрд░реНрдЯ 80 рд╡рд░ рдРрдХреЗрд▓ рдЖрдгрд┐ url рдкреБрдиреНрд╣рд╛ рд▓рд┐рд╣реВрди 443 рд╡рд░ рд╡рд┐рдирдВрддреНрдпрд╛ рдкрд╛рдард╡реЗрд▓.
рд╢реЗрд╡рдЯреА, рдореА LSWS рд▓реЙрдЧрд┐рдВрдЧ рдкрд╛рддрд│реА рдХрдореА рдХрд░рдгреНрдпрд╛рдЪреА рд╢рд┐рдлрд╛рд░рд╕ рдХрд░рддреЛ, рдЬреА рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рдбреАрдмрдЧ рд╡рд░ рд╕реЗрдЯ рдХреЗрд▓реА рдЬрд╛рддреЗ. рдпрд╛ рдореЛрдбрдордзреНрдпреЗ, рд▓реЙрдЧ рд╡рд┐рдЬреЗрдЪреНрдпрд╛ рд╡реЗрдЧрд╛рдиреЗ рдЧреБрдгрд╛рдХрд╛рд░ рдХрд░рддрд╛рдд! рдмрд╣реБрддреЗрдХ рдкреНрд░рдХрд░рдгрд╛рдВрд╕рд╛рдареА, рдЪреЗрддрд╛рд╡рдгреА рдкрд╛рддрд│реА рдкреБрд░реЗрд╢реА рдЖрд╣реЗ. рд╕рд░реНрд╡реНрд╣рд░ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди > рд▓реЙрдЧ рд╡рд░ рдЬрд╛:

OpenLiteSpeed тАЛтАЛрдЪреНрдпрд╛ рдЖрдд рдЖрдгрд┐ рдмрд╛рд╣реЗрд░ рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб: рд░рд┐рд╡реНрд╣рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрдЯ рдЕрдк рдХрд░рд╛

рд╣реЗ рд░рд┐рд╡реНрд╣рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдореНрд╣рдгреВрди OpenLiteSpeed тАЛтАЛрдЪреЗ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдкреВрд░реНрдг рдХрд░рддреЗ. рдкреБрдиреНрд╣рд╛ рдПрдХрджрд╛, LSWS рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХрд░рд╛, рджреБрд╡реНрдпрд╛рдЪреЗ рдЕрдиреБрд╕рд░рдг рдХрд░рд╛ https://cloud.connect.link рдЖрдгрд┐ рдкрд╛рд╣рд╛:

OpenLiteSpeed тАЛтАЛрдЪреНрдпрд╛ рдЖрдд рдЖрдгрд┐ рдмрд╛рд╣реЗрд░ рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб: рд░рд┐рд╡реНрд╣рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрдЯ рдЕрдк рдХрд░рд╛

рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдбрдиреЗ рдЖрдореНрд╣рд╛рд▓рд╛ рдкреНрд░рд╡реЗрд╢ рдорд┐рд│рд╛рд╡рд╛ рдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣рд╛рд▓рд╛ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╕реВрдЪреАрдордзреНрдпреЗ cloud.connect.link рдбреЛрдореЗрди рдЬреЛрдбрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдЪрд▓рд╛ config.php рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реВрдпрд╛. рдЙрдмрдВрдЯреВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛рдирд╛ рдореА рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓реЙрдб рд╕реНрд╡рдпрдВрдЪрд▓рд┐рддрдкрдгреЗ рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ рдЖрдгрд┐ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдпреЗрдереЗ рд╕реНрдерд┐рдд рдЖрд╣реЗ: /var/snap/nextcloud/current/nextcloud/config.
trusted_domains рдХреА рдордзреНрдпреЗ 'cloud.connect.link' рдкреЕрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╛:

'trusted_domains' =>
рд░рдЪрдирд╛ (
0 => '172.16.22.110',
1 => 'cloud.connect.link',
),

OpenLiteSpeed тАЛтАЛрдЪреНрдпрд╛ рдЖрдд рдЖрдгрд┐ рдмрд╛рд╣реЗрд░ рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб: рд░рд┐рд╡реНрд╣рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрдЯ рдЕрдк рдХрд░рд╛

рдкреБрдвреЗ, рддреНрдпрд╛рдЪ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдордзреНрдпреЗ, рддреБрдореНрд╣реА рдЖрдордЪреНрдпрд╛ рдкреНрд░реЙрдХреНрд╕реАрдЪрд╛ IP рдкрддреНрддрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб рд╕рд░реНрд╡реНрд╣рд░рд▓рд╛ рджрд┐рд╕рдгрд╛рд░рд╛ рдкрддреНрддрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓рд╛ рдЬрд╛рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдпрд╛ рд╡рд╕реНрддреБрд╕реНрдерд┐рддреАрдХрдбреЗ рдореА рддреБрдордЪреЗ рд▓рдХреНрд╖ рд╡реЗрдзрддреЛ, рдореНрд╣рдгрдЬреЗ. рд╕реНрдерд╛рдирд┐рдХ LSWS рдЗрдВрдЯрд░рдлреЗрд╕рдЪрд╛ IP. рдпрд╛ рдЪрд░рдгрд╛рд╢рд┐рд╡рд╛рдп, рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛рд░реНрдп рдХрд░рддреЛ, рдкрд░рдВрддреБ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЕрдзрд┐рдХреГрдд рдирд╛рд╣реАрдд.

'trusted_proxies' =>
рд░рдЪрдирд╛ (
0 => '172.16.22.100',
),

рдЫрд╛рди, рддреНрдпрд╛рдирдВрддрд░ рдЖрдореНрд╣реА рдЕрдзрд┐рдХреГрддрддрд╛ рдЗрдВрдЯрд░рдлреЗрд╕рдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░реВ рд╢рдХрддреЛ:

OpenLiteSpeed тАЛтАЛрдЪреНрдпрд╛ рдЖрдд рдЖрдгрд┐ рдмрд╛рд╣реЗрд░ рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓рд╛рдЙрдб: рд░рд┐рд╡реНрд╣рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрдЯ рдЕрдк рдХрд░рд╛

рд╕рдорд╕реНрдпрд╛ рд╕реБрдЯрд▓реА! рдЖрддрд╛ рдкреНрд░рддреНрдпреЗрдХ рдХреНрд▓рд╛рдпрдВрдЯ рддреНрдпрд╛рдЪреНрдпрд╛ рд╕реНрд╡рдд: рдЪреНрдпрд╛ рд╡реИрдпрдХреНрддрд┐рдХ url рд╡рд░ "рдлрд╛рдЗрд▓ рдХреНрд▓рд╛рдЙрдб" рд╕реБрд░рдХреНрд╖рд┐рддрдкрдгреЗ рд╡рд╛рдкрд░реВ рд╢рдХрддреЛ, рдлрд╛рдпрд▓реАрдВрд╕рд╣ рд╕рд░реНрд╡реНрд╣рд░ рдЗрдВрдЯрд░рдиреЗрдЯрдкрд╛рд╕реВрди рд╡рд┐рднрдХреНрдд рдХреЗрд▓рд╛ рдЖрд╣реЗ, рднрд╡рд┐рд╖реНрдпрд╛рддреАрд▓ рдХреНрд▓рд╛рдпрдВрдЯрд▓рд╛ рд╕рд░реНрд╡рдХрд╛рд╣реА рд╕рдорд╛рди рдорд┐рд│реЗрд▓ рдЖрдгрд┐ рдПрдХрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рдЖрдпрдкреА рдкрддреНрддреНрдпрд╛рд╡рд░ рдкрд░рд┐рдгрд╛рдо рд╣реЛрдгрд╛рд░ рдирд╛рд╣реА.
рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рддреБрдореНрд╣реА рд╕реНрдерд┐рд░ рд╕рд╛рдордЧреНрд░реА рд╡рд┐рддрд░реАрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд░рд┐рд╡реНрд╣рд░реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛, рдкрд░рдВрддреБ рдиреЗрдХреНрд╕реНрдЯрдХреНрд▓реЙрдбрдЪреНрдпрд╛ рдмрд╛рдмрддреАрдд, рд╣реЗ рдЧрддреАрдордзреНрдпреЗ рд▓рдХреНрд╖рдгреАрдп рд╡рд╛рдв рдХрд░рдгрд╛рд░ рдирд╛рд╣реА. рддрд░ рддреЗ рдРрдЪреНрдЫрд┐рдХ рдЖрдгрд┐ рдРрдЪреНрдЫрд┐рдХ рдЖрд╣реЗ.

рдорд▓рд╛ рд╣реА рдХрдерд╛ рд╕рд╛рдорд╛рдпрд┐рдХ рдХрд░рдгреНрдпрд╛рдд рдЖрдирдВрдж рд╣реЛрдд рдЖрд╣реЗ, рдорд▓рд╛ рдЖрд╢рд╛ рдЖрд╣реЗ рдХреА рддреА рдПрдЦрд╛рджреНрдпрд╛рд╕рд╛рдареА рдЙрдкрдпреБрдХреНрдд рдард░реЗрд▓. рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдЕрдзрд┐рдХ рдореЛрд╣рдХ рдЖрдгрд┐ рдХрд╛рд░реНрдпрдХреНрд╖рдо рдкрджреНрдзрддреА рдорд╛рд╣рд┐рдд рдЕрд╕рд▓реНрдпрд╛рд╕, рдореА рдЯрд┐рдкреНрдкрдгреНрдпрд╛рдВрд╕рд╛рдареА рдЖрднрд╛рд░реА рдЖрд╣реЗ!

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛