ΠΡΠ΅Π½Π°ΡΠΎΡΠ²Π°Π½Π΅ ΠΎΡ HTTP ΠΊΡΠΌ HTTPS Π·Π° Linux
ΠΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° ΡΠ΅Π±ΡΠ°ΠΉΡΠ° Π²ΠΈ Ρ HTTPS Π΅ ΠΎΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π·Π° Π·Π°ΡΠΈΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠ»Π°ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π² SEO. ΠΡΠ΅Π½Π°ΡΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅Π»ΠΈΡ ΡΡΠ°ΡΠΈΠΊ ΠΎΡ HTTP ΠΊΡΠΌ HTTPS Π³Π°ΡΠ°Π½ΡΠΈΡΠ°, ΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΠΈΠΌΠ°Ρ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π·Π°ΡΠΈΡΠ΅Π½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° Π²Π°ΡΠΈΡ ΡΠ°ΠΉΡ. Π’ΠΎΠ²Π° ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΡΠ΅ Π²ΠΈ Π·Π°ΠΏΠΎΠ·Π½Π°Π΅ Ρ ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π°Π½Π΅ ΠΎΡ HTTP ΠΊΡΠΌ HTTPS Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Nginx Π½Π° Linux ΡΡΡΠ²ΡΡ
1. Π Π°Π·Π±ΠΈΡΠ°Π½Π΅ Π½Π° HTTP ΠΈ HTTPS
- HTTP (Hypertext Transfer Protocol): Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π·Π° ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΏΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ. Π’ΠΎΠΉ Π½Π΅ Π΅ Π·Π°ΡΠΈΡΠ΅Π½, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ Π΄Π°Π½Π½ΠΈΡΠ΅, ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ΠΈ ΡΡΠ΅Π· HTTP, ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΡΠΈΡ Π²Π°Π½Π°ΡΠΈ ΠΎΡ Π½Π°ΠΏΠ°Π΄Π°ΡΠ΅Π»ΠΈ.
- HTTPS (HTTP Secure): Π’ΠΎΠ²Π° Π΅ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° HTTP, ΠΊΠΎΠ΅ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° SSL/TLS ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ Π·Π° Π·Π°ΡΠΈΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅, ΠΏΡΠ΅Π΄Π°Π²Π°Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈ ΡΡΡΠ²ΡΡΠ°. Π’ΠΎΠ²Π° Π³Π°ΡΠ°Π½ΡΠΈΡΠ°, ΡΠ΅ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»Π½Π°ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΊΠ°ΡΠΎ Π΄Π°Π½Π½ΠΈ Π·Π° Π²Ρ ΠΎΠ΄ ΠΈ Π΄Π°Π½Π½ΠΈ Π·Π° ΠΏΠ»Π°ΡΠ°Π½Π΅, Π΅ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π° ΠΈ Π·Π°ΡΠΈΡΠ΅Π½Π°.
2. ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ
ΠΡΠ΅Π΄ΠΈ Π΄Π° Π½Π°ΡΡΡΠΎΠΈΡΠ΅ ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π°Π½Π΅ΡΠΎ, ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ Π½Π° Π²Π°ΡΠΈΡ ΡΡΡΠ²ΡΡ. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π΄ΠΎΡΡΠ°Π²ΡΠΈΡΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ
- Let’s Encrypt: ΠΠ΅Π·ΠΏΠ»Π°ΡΠ΅Π½, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°Π½ ΠΈ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΎΡΠ³Π°Π½ Π·Π° ΠΈΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ.
- Π’ΡΡΠ³ΠΎΠ²ΡΠΊΠΈ Π΄ΠΎΡΡΠ°Π²ΡΠΈΡΠΈ Π½Π° SSL: Comodo, DigiCert ΠΈΠ»ΠΈ GoDaddy.
ΠΠ° ΡΠΎΠ·ΠΈ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Let’s Encrypt. ΠΠΊΠΎ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΡΡΠ΅ Π½Π°ΡΡΡΠΎΠΈΠ»ΠΈ SSL, ΡΠ»Π΅Π΄Π²Π°ΠΉΡΠ΅ ΡΠ΅Π·ΠΈ ΡΡΡΠΏΠΊΠΈ
Π‘ΡΡΠΏΠΊΠ° 1: ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΉΡΠ΅ Certbot
Certbot Π΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ ΠΈ ΠΏΠΎΠ΄Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ ΠΎΡ Let’s Encrypt
sudo apt update sudoapt install certbot python3-certbot-nginxΠ‘ΡΡΠΏΠΊΠ° 2: ΠΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ
Π‘ΡΠ°ΡΡΠΈΡΠ°ΠΉΡΠ΅ Certbot, Π·Π° Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π²Π°ΡΠΈΡ SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ
sudo certbot --nginxΠ‘Π»Π΅Π΄Π²Π°ΠΉΡΠ΅ ΡΠΊΠ°Π·Π°Π½ΠΈΡΡΠ°, Π·Π° Π΄Π° Π½Π°ΡΡΡΠΎΠΈΡΠ΅ SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° ΡΠΈ. Certbot Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ° Nginx Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° HTTPS
3. ΠΡΠ΅Π½Π°ΡΠΎΡΠ²Π°Π½Π΅ Π½Π° HTTP ΠΊΡΠΌ HTTPS
Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΡΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π»ΠΈ SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°, ΡΡΡΠ±Π²Π° Π΄Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ Nginx Π΄Π° ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π° HTTP ΡΡΠ°ΡΠΈΠΊΠ° ΠΊΡΠΌ HTTPS
Π‘ΡΡΠΏΠΊΠ° 1: ΠΡΠ²ΠΎΡΠ΅ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΡΠ°ΠΉΠ» Π½Π° Nginx
ΠΡΠ²ΠΎΡΠ΅ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΡΠ°ΠΉΠ» Π½Π° Nginx Π·Π° Π²Π°ΡΠΈΡ ΡΠ΅Π±ΡΠ°ΠΉΡ, ΠΊΠΎΠΉΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΠ΅ Π½Π°ΠΌΠΈΡΠ° Π² /etc/nginx/sites-available/. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π½ΠΈΡ ΠΎΡ Π²Π°Ρ ΡΠ΅ΠΊΡΡΠΎΠ² ΡΠ΅Π΄Π°ΠΊΡΠΎΡ, Π·Π° Π΄Π° ΠΎΡΠ²ΠΎΡΠΈΡΠ΅ ΡΠ°ΠΉΠ»Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ
sudo nano /etc/nginx/sites-available/example.comΠ‘ΡΡΠΏΠΊΠ° 2: ΠΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π·Π° ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π°Π½Π΅
Π Π±Π»ΠΎΠΊΠ° Π½Π° ΡΡΡΠ²ΡΡΠ°, ΠΊΠΎΠΉΡΠΎ ΡΠ»ΡΡΠ° HTTP ΡΡΠ°ΡΠΈΠΊΠ° (ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ Π½Π° ΠΏΠΎΡΡ 80), Π΄ΠΎΠ±Π°Π²Π΅ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π·Π° ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π°Π½Π΅, Π·Π° Π΄Π° ΠΏΡΠ΅ΠΏΡΠ°ΡΠ°ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ Π·Π°ΡΠ²ΠΊΠΈ ΠΊΡΠΌ HTTPS. ΠΡΠΎ ΠΊΠ°ΠΊ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Π²Π°ΡΠ°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ:
server {
listen 80;
server_name example.com www.example.com;
# Redirect all HTTP requests to HTTPS
return 301 https://$host$request_uri;
}4. Π’Π΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ°
Π‘ΡΡΠΏΠΊΠ° 1: Π’Π΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° Nginx
ΠΡΠ΅Π΄ΠΈ Π΄Π° ΠΏΡΠ΅Π·Π°ΡΠ΅Π΄ΠΈΡΠ΅ Nginx, ΡΠ΅ΡΡΠ²Π°ΠΉΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π·Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ½ΠΈ Π³ΡΠ΅ΡΠΊΠΈ
sudo nginx -tΠ’ΡΡΠ±Π²Π° Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π°, ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π΅ Π½Π°ΡΠ΅Π΄
Π‘ΡΡΠΏΠΊΠ° 2: ΠΡΠ΅Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Nginx
ΠΡΠΈΠ»ΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅, ΠΊΠ°ΡΠΎ ΠΏΡΠ΅Π·Π°ΡΠ΅Π΄ΠΈΡΠ΅ ΡΡΡΠ²ΡΡΠ° Nginx
sudo systemctl reload nginx5. ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π°Π½Π΅ΡΠΎ
ΠΠ° Π΄Π° ΡΠ΅ ΡΠ²Π΅ΡΠΈΡΠ΅, ΡΠ΅ ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π°Π½Π΅ΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠ° ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ
- ΠΡΠ²ΠΎΡΠ΅ΡΠ΅ ΡΠ΅Π± Π±ΡΠ°ΡΠ·ΡΡ ΠΈ ΠΎΡΠΈΠ΄Π΅ΡΠ΅ Π½Π° Π°Π΄ΡΠ΅Ρ http://example.com.
- ΠΡΠΎΠ²Π΅ΡΠ΅ΡΠ΅ Π΄Π°Π»ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π²ΠΈ ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π° ΠΊΡΠΌ https://example.com.
- ΠΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄Π΅Π½ ΡΠ΅Π΄ ΠΊΠ°ΡΠΎ curl, Π·Π° Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΡΠ΅ ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π°Π½Π΅ΡΠΎ:
curl -I http://example.comΠ’ΡΡΠ±Π²Π° Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΎΡΠ³ΠΎΠ²ΠΎΡ 301 Moved Permanently Ρ Ρ Π΅Π΄ΡΡ Location, Π½Π°ΡΠΎΡΠ΅Π½ ΠΊΡΠΌ HTTPS URL
6. ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡΠ΅Π½Π°ΡΠΎΡΠ²Π°Π½Π΅ΡΠΎ ΠΎΡ HTTP ΠΊΡΠΌ HTTPS Π½Π° Π²Π°ΡΠΈΡ Linux ΡΡΡΠ²ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Nginx Π΅ Π»Π΅ΡΠ΅Π½ ΠΏΡΠΎΡΠ΅Ρ, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ²ΠΈΡΠ°Π²Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° ΠΈ Π΄ΠΎΠ²Π΅ΡΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅. ΠΠ°ΡΠΎ ΡΠ»Π΅Π΄Π²Π°ΡΠ΅ ΡΡΡΠΏΠΊΠΈΡΠ΅, ΠΎΠΏΠΈΡΠ°Π½ΠΈ Π² ΡΠΎΠ²Π° ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ, ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠΏΠ΅ΡΠ½ΠΎ Π΄Π° Π½Π°ΡΡΡΠΎΠΈΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π°Π½Π΅, ΠΊΠ°ΡΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°ΡΠ΅, ΡΠ΅ ΡΠ΅Π»ΠΈΡΡ ΡΡΠ°ΡΠΈΠΊ ΠΊΡΠΌ ΡΠ°ΠΉΡΠ° Π²ΠΈ Π΅ ΡΠΈΠ³ΡΡΠ΅Π½. Π Π΅Π΄ΠΎΠ²Π½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°ΠΉΡΠ΅ Π²Π°Π»ΠΈΠ΄Π½ΠΎΡΡΡΠ° Π½Π° SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° ΡΠΈ ΠΈ Π³ΠΎ ΠΏΠΎΠ΄Π½ΠΎΠ²ΡΠ²Π°ΠΉΡΠ΅ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ, Π·Π° Π΄Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΡΠ΅ ΡΠΈΠ³ΡΡΠ½Π° Π²ΡΡΠ·ΠΊΠ°.
