рдкрд░рд┐рдЪрдп
Apgin рдХреЛ рдЕрдкрд╛рдЪреЗ рдХреЗ рд░реВрдк рдореЗрдВ nginx рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХреИрд╕реЗ рдХрд░реЗрдВ рдФрд░ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ, рдЗрд╕реЗ рдмрд╛рд░-рдмрд╛рд░ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ Habr├й рднреА рд╢рд╛рдорд┐рд▓ рд╣реИред рдореЗрд░рд╛ рдорд╛рдорд▓рд╛ рдХреНрд▓рд╛рд╕рд┐рдХ рд╕реЗ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рд╣реИред рдпрд╣ рд╕рдм рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣ рд╢реБрд░реВ рд╣реБрдЖ, рдЕрдкрд╛рдЪреЗ рдкрд░ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛, рдЖрдЧрдВрддреБрдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдФрд░ рдЗрд╕рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд, рдЕрдкрд░реНрдпрд╛рдкреНрдд рд╕рд░реНрд╡рд░ рд╕рдВрд╕рд╛рдзрдиред рд▓реЗрдХрд┐рди рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдпреЛрдЬрдирд╛ рдиреЗ рдПрд╕рдПрд╕рдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдореБрдЭреЗ рдХреНрдпрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдФрд░ рдореИрдВрдиреЗ рдХрдЯ рдХреЗ рддрд╣рдд рдмрддрд╛рдИ рдЧрдИ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдХреИрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ред
рд╕рдорд╕реНрдпрд╛рдУрдВ
рдЪреВрдВрдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдкреНрд░рддреНрдпрдХреНрд╖ рд╕реНрд╡рд╛рдЧрдд nginx рдХреЛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ SSL рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЕрдкрд╛рдЪреЗ, рдЬреЛ рдЕрдм рд▓рдЯрдХрд╛ рд╣реБрдЖ рд╣реИ рд▓реЗрдХрд┐рди рд▓реВрдкрдмреИрдХ 127.0.0.1:8080 рд╣реИ, рдХреЛ SSL рд╕рдорд░реНрдерди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдкрд╣рд▓реА рд╕рдорд╕реНрдпрд╛ рдпрд╣ рдереА рдХрд┐ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдерд╛рд╡реЗ рд╕реЗ рдерд╛, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдордзреНрдпрд╡рд░реНрддреА рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирдЧреНрдиреЗрдХреНрд╕ рдХреЗ рдкрд╛рд╕ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдирд┐рд░реНрджреЗрд╢ рдирд╣реАрдВ рд╣реИред рдЕрдкрд╛рдЪреЗ рд╡рд┐рдиреНрдпрд╛рд╕ рдореЗрдВ, рдпрд╣ рдЗрд╕ рддрд░рд╣ рдерд╛:
<VirtualHost 1.2.3.4:443> ... SSLEngine on SSLCertificateFile /usr/local/ssl/www.blabla.ru/public.crt SSLCertificateKeyFile /usr/local/ssl/www.blabla.ru/private.key SSLCACertificateFile /usr/local/ssl/www.blabla.ru/intermediate.crt ... </VirtualHost>
SSLCACertificateFile рдХреЗ рд╕рд╛рде nginx рдореЗрдВ рдХреНрдпрд╛ рдХрд░реЗрдВ? рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЖрдкрдХреЛ рдЕрдкрдиреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдПрдХ (рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдкреНрд░рдорд╛рдгрдкрддреНрд░, рдЙрд╕рдХреЗ рдмрд╛рдж рдПрдХ рдордзреНрдпрд╡рд░реНрддреА) рдореЗрдВ рд░рдЦрдХрд░ рджреЛ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ "рдорд░реНрдЬ" рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
cd /usr/local/ssl/www.blabla.ru cp public.crt public_concat.crt cat intermediate.crt >> public_concat.crt
рдпрд╣ рдмрд╛рдд рд╣реИ, рдЕрдм nginx рдореЗрдВ рд╣рдо рд╕рд┐рд░реНрдл рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
server { listen 1.2.3.4:443; server_name www.blabla.ru; ssl on; ssl_certificate /usr/local/ssl/www.blabla.ru/public_concat.crt; ssl_certificate_key /usr/local/ssl/www.blabla.ru/private.key; ... }
рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд╕рд╛рдЗрдЯ рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рдиреЗ рд╕реЗ рд╕реЗрдЯрд┐рдВрдЧ рдореЗрдВ рдХреЛрдИ рдХрдард┐рдирд╛рдИ рдирд╣реАрдВ рд╣реБрдИ:
server { listen 1.2.3.4:80; server_name www.blabla.ru blabla.ru;
рдЕрдЬрд╛рдХреНрд╕ рдХреЗ рд╕рд╛рде рдХрдард┐рдирд╛рдЗрдпрд╛рдБ рд╢реБрд░реВ рд╣реБрдИрдВред рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдЕрдиреБрд░реЛрдз http: // рдЙрдкрд╕рд░реНрдЧ рдХреЗ рд╕рд╛рде рдХрд┐рдП рдЧрдП рдереЗ, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг 301 рдЕрдиреБрдкреНрд░реЗрд╖рд┐рдд рдерд╛ рдЬреЛ рдХрд┐ рдЕрдЬрд╛рдХреНрд╕ рдХреЗ рд▓рд┐рдП рд╣рд╛рдирд┐рдХрд╛рд░рдХ рдерд╛ред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдирд╛рдо, рдирдЧреАрдирдХреНрд╕ рд╕реЗ рдЕрдкрд╛рдЪреЗ рддрдХ, рдпрд╣ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
рдирдЧреАрдирдХреНрд╕ рдореЗрдВ:
server { ... location / { ... proxy_set_header X-Forwarded-Proto $scheme; ... } ... }
рд╡рд░реНрдЪреБрдЕрд▓ рд╣реЛрд╕реНрдЯ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдореЗрдВ рдЕрдкрд╛рдЪреЗ рдореЗрдВ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ:
<VirtualHost 127.0.0.1:8080> ServerName www.blabla.ru ... SetEnvIf X-Forwarded-Proto https HTTPS=on ... </VirtualHost>
рдЕрдм рд╕рднреА ajax рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ https: // рдкрд░ рдЬрд╛рдПрдВред рдЗрд╕ рдЯреНрд░рд┐рдХ рдХреЗ рд▓рд┐рдП, рдЕрдкрд╛рдЪреЗ setenvif_module рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЗрдирд╕реНрдЯреЙрд▓ рдФрд░ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:
LoadModule setenvif_module libexec/apache22/mod_setenvif.so
рдпрд╣ рднреА рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдХреБрдЫ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реНрд╡рдпрдВ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдирд╛ рдорд╛рд░реНрдЧ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, phpMyAdmin, рдЗрд╕рд▓рд┐рдП рд╕рдВрд╕рд╛рдзрди рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЕрдЧрд░ рдЗрд╕рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреВрд░реНрдг рдкрде рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ рдЗрд╕реЗ рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде рд╕реНрд╡рдпрдВ рдмрдирд╛ рджреЗрдЧрд╛ред рддреЛ рдореБрдЭреЗ рдХреБрдЫ рдРрд╕рд╛ рдорд┐рд▓рд╛:
https://www.blabla.ru:80/myadmin
рдпрд╣рд╛рдБ рдмрд╛рдд рд╣реИ: 80 рд╕рдм рдХреБрдЫ рдЦрд░рд╛рдм рдХрд░ рджрд┐рдпрд╛, phpMyAdmin рдПрдХ рдбрд╛рдВрдЯ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдЦреБрд▓рд╛ рдерд╛ рдХрд┐ рдПрд╕рдПрд╕рдПрд▓ рд╕реБрд░рдХреНрд╖рд╛ рддреНрд░реБрдЯрд┐ рдереАред рдЗрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╕реАрдзреЗ phpMyAdmin config рдореЗрдВ рдкрде рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрдХрд░:
$cfg['PmaAbsoluteUri'] = 'https://www.blabla.ru/myadmin';
рдореМрдЬреВрджрд╛ рд▓реЙрдЧрд┐рдВрдЧ рдпреЛрдЬрдирд╛ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрд╛рдЪреЗ рдореЗрдВ рдЖрдЧрдВрддреБрдХреЛрдВ рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЖрдИрдкреА рдкрддреЗ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдордд рднреВрд▓рдирд╛ред рдпрд╣ рдмрд╛рд░-рдмрд╛рд░ рдЪрд┐рддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрдкрд╛рдЪреЗ rpaf_module рдореЙрдбреНрдпреВрд▓ рдХреА рдУрд░ рдЦреБрджрд╛рдИ рдХрд░рддрд╛ рд╣реИред
рдкреБрдирд╢реНрдЪ: рд╕рдм рдХреБрдЫ FreeBSD 8.2, Apache 2.2.22_5, nginx-1.0.14.1 рдХреЗ рддрд╣рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдореИрдВрдиреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХреЗ рдкреВрд░реНрдг рдкрд╛рда рдХреЛ рдЕрдкрд▓реЛрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рддрд╛рдХрд┐ рдиреЛрдЯ рдХреЛ рди рдмрдврд╝рд╛рдпрд╛ рдЬрд╛рдПред рдЙрд╕реА рдХрд╛рд░рдг рд╕реЗ, рдореИрдВрдиреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЖрдИрдкреА рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ rpaf_module рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд┐рдпрд╛ред рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ - рдмрд╛рд╣рд░ рд░рдЦрдирд╛ред