рдЦреБрдж рдХреЛ рджреЗрд╡реЛрдкреНрд╕ рдХрд░реЗрдВ рдпрд╛ рдЙрдмрдВрдЯреВ рдореЗрдВ рдЕрдкрд╛рдЪреЗ рдЯреЙрдореНрдХреЗрдЯ рдХреЗ рд▓рд┐рдП рдирд┐рдЧреЗрдВрдХреНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдХреЛ https рдФрд░ рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдХреЗ рд╕рд╛рде 5 рдорд┐рдирдЯ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ



рдореИрдВ рдПрдХ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдирд╣реАрдВ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдХрднреА-рдХрднреА рдРрд╕реЗ рдХрд╛рд░реНрдп рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдХрд┐рд╕реА рдХреЛ рд╕реМрдВрдкрдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЦреБрдж рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рди (рдФрд░ рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк) рд╣реЛрддреЗ рд╣реИрдВред

рдХрднреА-рдХрднреА, рд╣рдореЗрдВ рд╕рд░реНрд╡рд▓реЗрдЯ рдХрдВрдЯреЗрдирд░ (рд╕рдмрд╕реЗ рдЕрдХреНрд╕рд░ Apache Tomcat) рдХреЛ "рдмрдврд╝рд╛рдиреЗ" рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдореАрдкрд╡рд░реНрддреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ, ssl рд╕рдорд╛рдкреНрддрд┐ (рдпрд╛ рдмрд╕ https) рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рдлрд╝рд╛рдпрд░рд╡реЙрд▓ (рдХреЗрд╡рд▓ ssh рдФрд░ http рдФрд░ https рдХреЛ рдЫреЛрдбрд╝рдХрд░) рдХреЗ рд╕рд╛рде рдХрд╡рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдРрд╕рд╛ рд╣реБрдЖ рдХрд┐ рдкрд┐рдЫрд▓реЗ рд╣рдлреНрддреЗ рдореИрдВрдиреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рддреАрди рдмрд╛рд░ рд╣рд▓ рдХрд┐рдпрд╛ (рдЬреИрд╕рд╛ рдХрд┐ рд╕рд┐рддрд╛рд░реЗ рдмрди рдЧрдП, рдФрд░ рдЙрд╕рд╕реЗ рдкрд╣рд▓реЗ - рджреЛ рд╕рд╛рд▓ рдкрд╣рд▓реЗ) рдФрд░ рдпрд╣ рдЕрдиреБрднрд╡ рдЗрд╕ рдЫреЛрдЯреЗ рд╕реЗ рдУрдкрд╕ рдореЗрдВ рдмрджрд▓ рдЧрдпрд╛ рдерд╛ред

рддреЛ, рджрд┐рдП рдЧрдП рдЙрдмрдВрдЯреВ рд╕рд░реНрд╡рд░ 18.04 рдпрд╛ 16.04 (рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рд╡рд╛рд▓реЗ рд╕рдВрд╕реНрдХрд░рдг 14.04 рдпрд╛ рдЗрд╕рдХреЗ рдмрд╛рдж рдХреА рд╕рдорд╕реНрдпрд╛рдПрдВ рдирд╣реАрдВ рд╣реЛрдВрдЧреА)ред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЙрдмрдВрдЯреВ рд╕рд░реНрд╡рд░ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рдЬрд▓реНрджреА рд╕реЗ рдЗрд╕реЗ "рдкрд┐рдХ рдЕрдк" рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбрд┐рдЬрд┐рдЯрд▓ рдУрд╢рди (рдореЗрд░рд╛ рд░реЗрдлрд░рд▓ рд▓рд┐рдВрдХ)ред рд▓реЗрдЦ рд▓рд┐рдЦрдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдирдП рдЦрд╛рддреЛрдВ рдХреЗ рд▓рд┐рдП DO 60 рджрд┐рдиреЛрдВ рдХреЗ рд▓рд┐рдП 100 рдбреЙрд▓рд░ рджреЗрддрд╛ рд╣реИ, рдпрджрд┐ рдЖрдк рдЛрдг рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрддреЗ рд╣реИрдВред

рдбреАрдПрдирдПрд╕


рд▓реЗрдЯреНрд╕ рдПрдирдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдореБрдХреНрдд https рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ DNS рд╕рд░реНрд╡рд░ рддрдХ рдкрд╣реБрдВрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рдо рдЗрд╕рдореЗрдВ рдЕрдкрдиреЗ рдЙрдмрдВрдЯреВ рд╕рд░реНрд╡рд░ рдХрд╛ рдЖрдИрдкреА рдкрддрд╛ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдирд╛рдо xyz рд╣реИред рдЖрдЗрдП, рдирд┐рд╢реНрдЪрд┐рддрддрд╛ рдХреЗ рд▓рд┐рдП, рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ mydomain.com рд╣реИ, рдЕрд░реНрдерд╛рдд рд╣рдорд╛рд░реЗ рд╕рд░реНрд╡рд░ рдХрд╛ DNS рдирд╛рдо xyz.mydomain.com рд╣реЛрдЧрд╛

рд╕реНрдерд╛рдкрдирд╛


Apache Tomcat рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ (рдореИрдВ рд╕рдВрд╕реНрдХрд░рдг 8 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛)

apt install tomcat8 

рдФрд░ рдЕрдм рдирдЧреАрдирдХреНрд╕

 apt install nginx-core 

рд╕рдорд╛рдпреЛрдЬрди


nginx


DNS рд╕рд░реНрд╡рд░ рдирд╛рдо (рдлрд╝рд╛рдЗрд▓ / etc / nginx / рд╕рд╛рдЗрдЯреНрд╕-рдЙрдкрд▓рдмреНрдз / рдбрд┐рдлрд╝реЙрд▓реНрдЯ ) рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдкрдВрдЬреАрдХреГрдд Nginx рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ

 server_name xyz.mydomain.com; 

рд╣рдо рд╕реНрдерд╛рдкрд┐рдд Apache Tomcat рдХрд╛ рд▓рд┐рдВрдХ рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░рддреЗ рд╣реИрдВ (рдпрджрд┐ рдЖрдкрдиреЗ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓рд╛ рд╣реИ, рддреЛ рдпрд╣ рдкреЛрд░реНрдЯ 8080 рдкрд░ "рд░рд╣рддрд╛ рд╣реИ")ред рд╣рдореЗрдВ рд╕рд░реНрд╡рд░ рдмреНрд▓реЙрдХ рдореЗрдВ рдЕрдкрд╕реНрдЯреНрд░реАрдо рдмреНрд▓реЙрдХ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред

 upstream tomcat { server 127.0.0.1:8080 fail_timeout=0; } server { ... 

рд╕реНрдерд╛рди рдмреНрд▓реЙрдХ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░реЗрдВ рдФрд░ Apache Tomcat рдкрд░ рд╕рднреА рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░реЗрдВ

 server { ... location / { # try_files $uri $uri/ =404; include proxy_params; proxy_pass http://tomcat/; } 

рд╣рдо рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдм рдХреБрдЫ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ

 service nginx configtest 

рдФрд░ рдирдЧреНрдиреЗрдХреНрд╕ рдХреЛ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░реЗрдВ

 service nginx restart 

рдЕрдкрд╛рдЪреЗ рдЯреЙрдордХрдЯ


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

<рд╣реЛрд╕реНрдЯ /> рдмреНрд▓реЙрдХ рдореЗрдВ /etc/tomcat8/server.xml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред

 <Host> ... <Valve className="org.apache.catalina.valves.RemoteIpValve" remoteIpHeader="x-forwarded-for" remoteIpProxiesHeader="x-forwarded-by" protocolHeader="x-forwarded-proto" /> </Host> 

рдЯреЙрдордХреИрдЯ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ

 service tomcat8 restart 

Https рдкреНрд░рдорд╛рдг рдкрддреНрд░


Http рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рддреНрдпрд╛рдкрди рдХреЗ рд╕рд╛рде рдПрдХ рд╡реАрдЯреА рдкреНрд░рдорд╛рдг рдкрддреНрд░ рд╣рдореЗрдВ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдмреЙрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛, рдпрд╛ рдирдЧрд┐рдирдХреНрд╕рд╛ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рд╕рдВрд╢реЛрдзрди - рдкрд╛рдпрдерди-рд╕рд░реНрдЯрд┐рдлреЛрдЯ-рдирдЧреАрдиреЗ

Ubuntu 18.04 рдкрд░, рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ рдЪрд▓рд╛рдПрдБ

 apt install python-certbot-nginx 

рдЙрдмрдВрдЯреВ 16.04 рдХреЗ рд▓рд┐рдП - рдЖрдкрдХреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдЖрджрд┐ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд╕рд╛рде рдЯрд┐рдВрдХрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ ( рд▓рд┐рдВрдХ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╕реНрддреГрдд рдЧрд╛рдЗрдб рджреЗрдЦреЗрдВ)ред

рд╣рдо рд▓реЙрдиреНрдЪ рдХрд░рддреЗ рд╣реИрдВ

 certbot --nginx 

рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдЕрдкрдирд╛ рдИрдореЗрд▓ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ, рд▓рд╛рдЗрд╕реЗрдВрд╕ рд╕рдордЭреМрддреЗ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВ, рд╣рдореЗрдВ рд▓реЗрдЯреНрд╕ рдПрдирдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реЗ рдбреЗрдЯрд╛ рдХреЛ "рдлрд╝рдВрдмрд▓" рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рди рджреЗрдВ, DNS рдирд╛рдо рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВ рдХрд┐ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЗрд╕ рдмрд╛рдд рд╕реЗ рд╕рд╣рдордд рд╣реИрдВ рдХрд┐ рдмреЙрдЯ рд╕реНрд╡рдпрдВ "nginx" рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдЧрд╛ред

рд╡реЛрдЗрд▓рд╛ :)

рдмрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХрд╛ рдирд╡реАрдиреАрдХрд░рдг рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рдкрд╛рд░рд┐рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ (рдкреНрд░рдорд╛рдг рдкрддреНрд░ 90 рджрд┐рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рдЙрд╕реА рдЕрд╡рдзрд┐ рдХреЗ рд▓рд┐рдП рдЕрдирд┐рд╢реНрдЪрд┐рдд рдХрд╛рд▓ рддрдХ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред

 certbot renew --dry-run 

рдФрд░ рдЖрдВрддрд░рд┐рдХ рд╡реНрдпрд╛рдореЛрд╣ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрд░реЛрди рдлрд╝рд╛рдЗрд▓ рдХрд┐рд╕ рд╕реНрдерд╛рди рдкрд░ рд╣реИ

 ls -al /etc/cron.d/certbot 

рдлрд╝рд╛рдпрд░рд╡реЙрд▓


рд╣рдо рд░реЛрдХрддреЗ рд╣реИрдВ рдФрд░ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХрд╛ рдмреИрдХрдЕрдк (рд╕реНрдиреИрдкрд╢реЙрдЯ) рдмрдирд╛рддреЗ рд╣реИрдВред

 ufw allow ssh ufw allow http ufw allow https ufw default allow outgoing ufw default deny incoming ufw show added 

рдкреНрд░реЗ!
 ufw enable ufw status 

рд╣рдо рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░ рдЧрдпрд╛ - рд╕рд╛рдЗрдЯ https рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реБрд▓рдн рд╣реИ, http рдЯреНрд░реИрдлрд╝рд┐рдХ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рд╣реИ, рдФрд░ рдКрдкрд░ рд╕реВрдЪреАрдмрджреНрдз рдФрд░ ssh рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдиреНрдп рдкреЛрд░реНрдЯ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдмрдВрдж рд╣реИрдВред

рдкреАрдПрд╕ рдореБрдЭреЗ рдкреВрд░реА рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдкрд╛рда рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рд░рдЪрдирд╛рддреНрдордХ рдЖрд▓реЛрдЪрдирд╛ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред

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

Source: https://habr.com/ru/post/hi434010/


All Articles