рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдЕрдкрдиреЗ рд░реЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдмрдбрд╝реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рдмрд╕реЗ рдХреБрд╢рд▓ рдЕрдкрд▓реЛрдб рдХреЗ рд▓рд┐рдП рдирдЧрдиреЗрдХреНрд╕ рдХреЛ рдареАрдХ рд╕реЗ рдХреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВред рдореЗрд░реЗ рдЖрд╢реНрдЪрд░реНрдп рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рд░реВрд╕реА рдореЗрдВ рдРрд╕реА рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рдорд┐рд▓реАред Php рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХреНрд╕-рдПрдХреНрд╕реЗрд▓-рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓реЗрдЦ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореВрд▓ рднрд╛рд╖рд╛ рдореЗрдВ рд░реЗрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХреБрдЫ рдирд╣реАрдВ рд╣реИ ... рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореИрдВ рдЗрд╕ рдЕрдВрддрд░ рдХреЛ рднрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВред
рдХрд╛рд░реНрдп
рддреЛ, рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдбреЗрдЯрд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
- рд╣рдо рд░реВрдмреА рдСрди рд░реЗрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрд░реЛрдз Nginx рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рддреЗ рд╣реИрдВ;
- рд╣рдореЗрдВ рдмрдбрд╝реА рдлрд╛рдЗрд▓реЗрдВ рджреЗрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ;
- рдлрд╝рд╛рдЗрд▓реЗрдВ рдкреНрд░рддреНрдпрдХреНрд╖ рдбрд╛рдЙрдирд▓реЛрдб рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдлрд╝рд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд░реЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдирд┐рд░реНрдгрдп
рдореИрдВ рдЕрдВрдЧреНрд░реЗрдЬреА рдмреЛрд▓рдиреЗ рд╡рд╛рд▓реЗ рд╕реНрд░реЛрддреЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рд╕реЗ рдмрдЪрдирд╛ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддреЗред рдирдЧреНрдиреЗрдХреНрд╕ рдХреЗ рдкрд╛рд╕
рдПрдХреНрд╕-рдПрдХреНрд╕реЗрд▓-рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд╛ рдПрдХ рдЕрджреНрднреБрдд рдЯреБрдХрдбрд╝рд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░рд╛ рдХрд╛рдо рд╣рд▓ рд╣реЛ рдЧрдпрд╛ рд╣реИред рдЕрдм рдореИрдВ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИред
рд╣рдорд╛рд░реЗ рд░реЗрд▓ рдЖрд╡реЗрджрди рдореЗрдВ, рд╡рд┐рдиреНрдпрд╛рд╕ / рд╡рд╛рддрд╛рд╡рд░рдг / рдЙрддреНрдкрд╛рджрди рдореЗрдВредрдЖрд░рдмреА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рд╣рдореЗрдВ рд▓рд╛рдЗрди рдХреЛ рдЕрдирдХрдВрдлрд░реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect'
Nginx configs рдореЗрдВ рдЖрдкрдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
proxy_set_header X-Accel-Mapping /mnt/filestorage/=/private_files/; location /private_files/ { internal; alias /mnt/filestorage/; }
рд╡рд╣ рд╕рдм рд╣реИред рд╕реЗрдЯрдЕрдк рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИред рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдкрд░ рдпрд╣ рд╕рдм рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╕реНрддрд░ рдкрд░, рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ Nginx рдФрд░ рд░реЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдФрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред
1. рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реИ
2. рдирдЧреАрдиреЗрдХреНрд╕ рдпрд╣ рдЕрдиреБрд░реЛрдз рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдПрдХ рдФрд░ рд╣реЗрдбрд░ рдЬреЛрдбрд╝рдХрд░ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рд░реЗрд▓ рдХрд░рддрд╛ рд╣реИред
3. рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХрд╛ рд░реЗрд▓ рдирд┐рдпрдВрддреНрд░рдХ рдпрд╣ рдЬрд╛рдБрдЪрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдлрд╝рд╛рдЗрд▓ рдЗрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рджреА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рдФрд░ send_file рдкрд░ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, рдирд┐рд░рдкреЗрдХреНрд╖ рдкрде рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред
4. рд░реЗрд▓ (рдпрд╛ рдмрд▓реНрдХрд┐ рд░реИрдХ) рдпрд╣ рддрдп рдХрд░рддреА рд╣реИ рдХрд┐ рдЗрд╕ рдлрд╛рдЗрд▓ рдХрд╛ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИред рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕ рд╕реНрддрд░ рдкрд░, рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд┐рдХрд╛рдп рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рд╣рдордиреЗ рд░реЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛, рдФрд░ рдЕрдм рдлрд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рдмрдЬрд╛рдп, рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдПрдХ рдПрдХреНрд╕-рдПрдХреНрд╕реЗрд▓-рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рд╣реЗрдбрд░ рд╣реЛрдЧрд╛, рдЬрд┐рд╕реЗ рддрдм Nginx рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд░рд┐рд╕реНрдкрд╛рдВрд╕ рдмреЙрдбреА рдЦрд╛рд▓реА рд╣реЛрдЧреАред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХреНрд╕-рдПрдХреНрд╕реЗрд▓-рдореИрдкрд┐рдВрдЧ рд╣реЗрдбрд░ рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдлрд╝рд╛рдЗрд▓ рдкрде рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИред
5. рдирдЧреНрдиреЗрдХреНрд╕ рдЗрд╕ рд╣реЗрдбрд░ рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рддрд╛ рд╣реИ, рдПрдХ рдЙрдкрдпреБрдХреНрдд рд╕реНрдерд╛рди рдкрд╛рддрд╛ рд╣реИ, рдлрд╛рдЗрд▓ рдкрде рдХреЛ рдмрджрд▓рддрд╛ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рджреЗрддрд╛ рд╣реИред
6. рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдк рдкреИрд╕реЗрдВрдЬрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ Nginx
proxy_set_header
рдореЗрдВ рдЖрдкрдХреЛ
proxy_set_header
рдмрдЬрд╛рдп
proxy_set_header
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА
proxy_set_header