ΠΡΠ΅ΠΆΠΈΡΠ΅ Π·Π° Π΄ΠΎΡΡΠ°Π²ΠΊΠ° Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ (CDN) ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π² ΡΠ΅Π±ΡΠ°ΠΉΡΠΎΠ²Π΅ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΠΈΠΌΠ½ΠΎ Π·Π° ΡΡΠΊΠΎΡΡΠ²Π°Π½Π΅ Π½Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ°ΡΠΈΡΠ½ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ. Π’ΠΎΠ²Π° ΡΠ΅ ΡΠ»ΡΡΠ²Π° ΠΏΠΎΡΠ°Π΄ΠΈ ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° CDN ΡΡΡΠ²ΡΡΠΈ, ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π³Π΅ΠΎΠ³ΡΠ°ΡΡΠΊΠΈ ΡΠ΅Π³ΠΈΠΎΠ½ΠΈ. ΠΠ°ΡΠ²ΡΠ²Π°ΠΉΠΊΠΈ Π΄Π°Π½Π½ΠΈ ΡΡΠ΅Π· CDN, ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡ Π³ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π²Π° ΠΎΡ Π½Π°ΠΉ-Π±Π»ΠΈΠ·ΠΊΠΈΡ ΡΡΡΠ²ΡΡ.
ΠΡΠΈΠ½ΡΠΈΠΏΡΡ Π½Π° ΡΠ°Π±ΠΎΡΠ° ΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΌΡΠ΅ΠΆΠΈ Π·Π° Π΄ΠΎΡΡΠ°Π²ΠΊΠ° Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ Π΅ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ Π΅Π΄Π½Π°ΠΊΡΠ². Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΠΏΠΎΠ»ΡΡΠΈ Π·Π°ΡΠ²ΠΊΠ° Π·Π° ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½Π΅ Π½Π° ΡΠ°ΠΉΠ», CDN ΡΡΡΠ²ΡΡΡΡ Π³ΠΎ Π²Π·Π΅ΠΌΠ° Π΅Π΄Π½ΠΎΠΊΡΠ°ΡΠ½ΠΎ ΠΎΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡ ΡΡΡΠ²ΡΡ ΠΈ Π³ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ, ΠΊΠ°ΡΠΎ Π² ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ Π³ΠΎ ΠΊΠ΅ΡΠΈΡΠ° Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΏΠ΅ΡΠΈΠΎΠ΄ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅. ΠΠ° Π²ΡΠΈΡΠΊΠΈ ΡΠ»Π΅Π΄Π²Π°ΡΠΈ Π·Π°ΡΠ²ΠΊΠΈ ΡΠ΅ ΠΎΡΠ³ΠΎΠ²Π°ΡΡ ΠΎΡ ΠΊΠ΅ΡΠ°. ΠΡΠΈΡΠΊΠΈ CDN ΠΈΠΌΠ°Ρ ΠΎΠΏΡΠΈΠΈ Π·Π° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΈΠ·ΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠ΅ΡΠ°, Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° Π΄Π°ΡΠ° Π½Π° ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ ΠΈ Π΄Ρ.
Π‘Π»ΡΡΠ²Π° ΡΠ΅ ΠΏΠΎ Π΅Π΄Π½Π° ΠΈΠ»ΠΈ Π΄ΡΡΠ³Π° ΠΏΡΠΈΡΠΈΠ½Π° Π΄Π° ΡΡΡΠ±Π²Π° Π΄Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π° ΠΌΡΠ΅ΠΆΠ° Π·Π° Π΄ΠΎΡΡΠ°Π²ΠΊΠ° Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ ΠΈ ΡΠΎΠ³Π°Π²Π° - Π½Π΅ΠΊΠ° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΡΠ΅ Π·Π° ΡΠ³Π»ΠΎΠ±ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡ Π²Π΅Π»ΠΎΡΠΈΠΏΠ΅Π΄ Π΄Π° Π½ΠΈ Π±ΡΠ΄Π°Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ:
ΠΠΎΠ³Π°ΡΠΎ ΠΈΠΌΠ°ΡΠ΅ Π½ΡΠΆΠ΄Π° ΠΎΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½ CDN
ΠΠ±ΠΌΠΈΡΠ»Π΅ΡΠ΅ ΡΠ»ΡΡΠ°ΠΈΡΠ΅, Π² ΠΊΠΎΠΈΡΠΎ ΠΈΠΌΠ° ΡΠΌΠΈΡΡΠ» Π΄Π° ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΡΠ΅ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½ CDN:
- ΠΊΠΎΠ³Π°ΡΠΎ ΠΈΠΌΠ° ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ Π΄Π° ΡΠ΅ ΡΠΏΠ΅ΡΡΡΡ ΠΏΠ°ΡΠΈ ΠΈ ΡΠ΅ΠΊΡΡΠΈ ΡΠ°Π·Ρ
ΠΎΠ΄ΠΈ, Π΄ΠΎΡΠΈ ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π΅Π²ΡΠΈΠ½ΠΈ CDN ΠΊΠ°ΡΠΎ
BunnyCDN Π²ΡΠ·Π»ΠΈΠ·Π°Ρ Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎΡΡΠΎΡΠΈΠ½ Π΄ΠΎΠ»Π°ΡΠ° Π½Π° ΠΌΠ΅ΡΠ΅Ρ - Π°ΠΊΠΎ ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΏΠΎΡΡΠΎΡΠ½Π΅Π½ ΠΊΠ΅Ρ ΠΈΠ»ΠΈ ΠΊΠ΅Ρ Π±Π΅Π· ΡΡΡΠ΅Π΄ΠΈ Π½Π° ΡΡΡΠ²ΡΡ ΠΈ ΠΊΠ°Π½Π°Π»
- CDN ΡΡΠ»ΡΠ³ΠΈΡΠ΅ Π½ΡΠΌΠ°Ρ ΡΠΎΡΠΊΠΈ Π½Π° ΠΏΡΠΈΡΡΡΡΠ²ΠΈΠ΅ Π² ΡΠ΅Π³ΠΈΠΎΠ½Π°, ΠΎΡ ΠΊΠΎΠΉΡΠΎ ΡΠ΅ Π½ΡΠΆΠ΄Π°Π΅ΡΠ΅
- Π²ΡΠΈΡΠΊΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π·Π° Π΄ΠΎΡΡΠ°Π²ΠΊΠ° Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅
- ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° ΡΡΠΊΠΎΡΠΈΠΌ Π΄ΠΎΡΡΠ°Π²ΠΊΠ°ΡΠ° Π½Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅, ΠΊΠ°ΡΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½ΠΈΡ ΡΡΡΠ²ΡΡ ΠΏΠΎ-Π±Π»ΠΈΠ·ΠΎ Π΄ΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅
- ΠΈΠΌΠ° ΠΎΠΏΠ°ΡΠ΅Π½ΠΈΡ, ΡΠ΅ CDN ΡΡΠ»ΡΠ³Π° Π½Π° ΡΡΠ΅ΡΠ° ΡΡΡΠ°Π½Π° ΠΌΠΎΠΆΠ΅ Π½Π΅Π·Π°ΠΊΠΎΠ½Π½ΠΎ Π΄Π° ΡΡΠ±ΠΈΡΠ° ΠΈΠ»ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ (Π·Π΄ΡΠ°Π²Π΅ΠΉΡΠ΅ ΡΡΠ»ΡΠ³ΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΈ Ρ GDPR) ΠΈΠ»ΠΈ Π΄Π° ΡΡΠ°ΡΡΠ²Π° Π² Π΄ΡΡΠ³ΠΈ Π½Π΅Π·Π°ΠΊΠΎΠ½Π½ΠΈ Π΄Π΅ΠΉΠ½ΠΎΡΡΠΈ
Π ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ Π΄ΡΡΠ³ΠΈ ΡΠ»ΡΡΠ°ΠΈ Π΅ ΠΏΠΎ-ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈ Π³ΠΎΡΠΎΠ²ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ.
ΠΠ°ΠΊΠ²ΠΎ Π²ΠΈ ΡΡΡΠ±Π²Π°, Π·Π° Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΡΠ΅
Π§ΡΠ΄Π΅ΡΠ½ΠΎ Π΅, Π°ΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π° Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½Π° ΡΠΈΡΡΠ΅ΠΌΠ° (AS). Π‘ Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΡΠ΅ Π΅Π΄ΠΈΠ½ ΠΈ ΡΡΡ IP Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΡΡΠ²ΡΡΠ° ΠΈ
ΠΠΊΠΎ Π½Π΅ ΡΡΠ΅ ΡΠ°ΡΡΠ»ΠΈΠ² ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΠΊ Π½Π° Π±Π»ΠΎΠΊ ΠΎΡ IP Π°Π΄ΡΠ΅ΡΠΈ, ΡΠΎΠ³Π°Π²Π° Π·Π° Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ CDN ΡΠ΅ Π²ΠΈ ΡΡΡΠ±Π²Π°:
- ΠΈΠΌΠ΅ Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅ΠΉΠ½
- ΠΏΠΎΠ½Π΅ Π΄Π²Π° ΡΡΡΠ²ΡΡΠ° Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅Π³ΠΈΠΎΠ½ΠΈ. Π‘ΡΡΠ²ΡΡΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ ΠΈΠ»ΠΈ Π²ΠΈΡΡΡΠ°Π»Π΅Π½
- geoDNS ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ. Π‘ Π½Π΅Π³ΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡ, Π°Π΄ΡΠ΅ΡΠΈΡΠ°Π» Π΄ΠΎΠΌΠ΅ΠΉΠ½Π°, ΡΠ΅ Π±ΡΠ΄Π΅ Π½Π°ΡΠΎΡΠ΅Π½ ΠΊΡΠΌ Π½Π°ΠΉ-Π±Π»ΠΈΠ·ΠΊΠΈΡ ΡΡΡΠ²ΡΡ
Π Π΅Π³ΠΈΡΡΡΠΈΡΠ°ΠΉΡΠ΅ Π΄ΠΎΠΌΠ΅ΠΉΠ½ ΠΈ ΠΏΠΎΡΡΡΠ°ΠΉΡΠ΅ ΡΡΡΠ²ΡΡΠΈ
Π‘ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡΡΠ° Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½ Π²ΡΠΈΡΠΊΠΎ Π΅ ΠΏΡΠΎΡΡΠΎ - ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°ΠΌΠ΅ ΡΠ΅ Π²ΡΠ² Π²ΡΡΠΊΠ° Π·ΠΎΠ½Π° Ρ Π²ΡΠ΅ΠΊΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΎΡ. ΠΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠΎ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅ΠΉΠ½ Π·Π° CDN, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π½Π΅ΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ cdn.ΠΈΠΌΠ΅ Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½.com. ΠΡΡΡΠ½ΠΎΡΡ Π² Π½Π°ΡΠΈΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΡΠΎΡΠ½ΠΎ ΡΠΎΠ²Π°.
Π©ΠΎ ΡΠ΅ ΠΎΡΠ½Π°ΡΡ Π΄ΠΎ ΠΏΠΎΡΡΡΠΊΠ°ΡΠ° Π½Π° ΡΡΡΠ²ΡΡΠΈ, ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ Π½Π°Π΅ΡΠΈ Π² ΡΠ΅Π³ΠΈΠΎΠ½ΠΈΡΠ΅ ΠΈ ΡΡΡΠ°Π½ΠΈΡΠ΅, ΠΊΡΠ΄Π΅ΡΠΎ ΡΠ΅ Π½Π°ΠΌΠΈΡΠ° Π²Π°ΡΠ°ΡΠ° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠ° Π°ΡΠ΄ΠΈΡΠΎΡΠΈΡ. ΠΠΊΠΎ ΠΏΡΠΎΠ΅ΠΊΡΡΡ Π΅ ΠΌΠ΅ΠΆΠ΄ΡΠΊΠΎΠ½ΡΠΈΠ½Π΅Π½ΡΠ°Π»Π΅Π½, ΡΠΎΠ³Π°Π²Π° Π΅ ΡΠ΄ΠΎΠ±Π½ΠΎ Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ Ρ
ΠΎΡΡΠΈΠ½Π³ Π΄ΠΎΡΡΠ°Π²ΡΠΈΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΡΡΡΠ²ΡΡΠΈ ΠΏΠΎ ΡΠ΅Π»ΠΈΡ ΡΠ²ΡΡ Π½Π°Π²Π΅Π΄Π½ΡΠΆ. ΠΡΠΈΠΌΠ΅ΡΠΈ:
ΠΠ° Π½Π°ΡΠΈΡ ΡΠ°ΡΡΠ΅Π½ CDN ΡΠ΅ ΠΏΠΎΡΡΡΠ°ΠΌΠ΅ 3 Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΡΡΡΠ²ΡΡΠ° Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΊΠΎΠ½ΡΠΈΠ½Π΅Π½ΡΠΈ. ΠΡΠΈ Vultr Π½Π° ΡΡΡΠ²ΡΡΠ° Π·Π° $5/ΠΌΠ΅ΡΠ΅Ρ ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΠΌ 25GB SSD ΠΌΠ΅ΡΡΠ° ΠΈ 1TB ΡΡΠ°ΡΠΈΠΊ. ΠΠΎΠ³Π°ΡΠΎ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅, ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ Π½Π°ΠΉ-Π½ΠΎΠ²ΠΈΡ Debian. ΠΠ°ΡΠΈΡΠ΅ ΡΡΡΠ²ΡΡΠΈ:
Π€ΡΠ°Π½ΠΊΡΡΡΡ, ip: 199.247.18.199
Π§ΠΈΠΊΠ°Π³ΠΎ, ip: 149.28.121.123
Π‘ΠΈΠ½Π³Π°ΠΏΡΡ, ip: 157.230.240.216
* Vultr ΠΈ DigitalOcean ΠΎΠ±Π΅ΡΠ°Π²Π°Ρ $100 ΠΊΡΠ΅Π΄ΠΈΡ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Ρ ΡΡΠ΅Π· Π²ΡΡΠ·ΠΊΠΈΡΠ΅ Π² ΡΡΠ°ΡΠΈΡΡΠ° Π²Π΅Π΄Π½Π°Π³Π° ΡΠ»Π΅Π΄ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΠΌΠ΅ΡΠΎΠ΄ Π½Π° ΠΏΠ»Π°ΡΠ°Π½Π΅. ΠΡ ΡΠΎΠ²Π° Π°Π²ΡΠΎΡΡΡ ΠΏΠΎΠ»ΡΡΠ°Π²Π° ΠΈ ΠΌΠ°Π»ΡΠΊ ΠΊΠΎΠΌΠΏΠ»ΠΈΠΌΠ΅Π½Ρ, ΠΊΠΎΠΉΡΠΎ ΡΠ΅Π³Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠΈΠΌ Π·Π° Π½Π΅Π³ΠΎ. ΠΠΎΠ»Ρ, ΠΏΡΠΎΡΠ²Π΅ΡΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° geoDNS
ΠΠ° Π΄Π° ΠΌΠΎΠΆΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡ Π΄Π° Π±ΡΠ΄Π΅ Π½Π°ΡΠΎΡΠ΅Π½ ΠΊΡΠΌ ΠΆΠ΅Π»Π°Π½ΠΈΡ (Π½Π°ΠΉ-Π±Π»ΠΈΠ·ΠΊΠΈΡ) ΡΡΡΠ²ΡΡ ΠΏΡΠΈ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π΄ΠΎΠΌΠ΅ΠΉΠ½ ΠΈΠ»ΠΈ CDN ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅ΠΉΠ½, ΡΠ΅ Π½ΡΠΆΠ΄Π°Π΅ΠΌ ΠΎΡ DNS ΡΡΡΠ²ΡΡ Ρ ΡΡΠ½ΠΊΡΠΈΡ geoDNS.
ΠΡΠΈΠ½ΡΠΈΠΏΡΡ ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΡΠΎ Π½Π° geoDNS Π΅ ΠΊΠ°ΠΊΡΠΎ ΡΠ»Π΅Π΄Π²Π°:
- Π£ΠΊΠ°Π·Π²Π° IP Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, ΠΈΠ·ΠΏΡΠ°ΡΠΈΠ» DNS Π·Π°ΡΠ²ΠΊΠ°ΡΠ°, ΠΈΠ»ΠΈ IP Π½Π° ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΈΡ DNS ΡΡΡΠ²ΡΡ, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠ°ΡΠ° Π·Π°ΡΠ²ΠΊΠ°. Π’Π°ΠΊΠΈΠ²Π° ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΈ ΡΡΡΠ²ΡΡΠΈ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΠ° DNS-ΠΈ Π½Π° Π΄ΠΎΡΡΠ°Π²ΡΠΈΡΠΈ.
- IP Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΡΠ°Π·ΠΏΠΎΠ·Π½Π°Π²Π° Π½Π΅Π³ΠΎΠ²Π°ΡΠ° Π΄ΡΡΠΆΠ°Π²Π° ΠΈΠ»ΠΈ ΡΠ΅Π³ΠΈΠΎΠ½. ΠΠ° ΡΠΎΠ²Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ GeoIP Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡΠΎ Π΄Π½Π΅Ρ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ. ΠΠΌΠ° Π΄ΠΎΠ±ΡΠΈ
Π±Π΅Π·ΠΏΠ»Π°ΡΠ½ΠΈ ΠΎΠΏΡΠΈΠΈ . - Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ°, Π΄Π°Π²Π° ΠΌΡ IP Π°Π΄ΡΠ΅ΡΠ° Π½Π° Π½Π°ΠΉ-Π±Π»ΠΈΠ·ΠΊΠΈΡ CDN ΡΡΡΠ²ΡΡ.
DNS ΡΡΡΠ²ΡΡ Ρ ΡΡΠ½ΠΊΡΠΈΡ geoDNS ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅
CloudDNS ΠΎΡ $9.95/ΠΌΠ΅ΡΠ΅Ρ, GeoDNS ΡΠ°ΡΠΈΡΠ°, ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΈΠΌΠ° Π΅Π΄ΠΈΠ½ DNS FailoverΠΠΈΠ»ΠΎΡΠ΅ ΠΎΡ $25/ΠΌΠ΅ΡΠ΅Ρ, DNS Failover Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ΠΡΡ 53 ΠΠΌΠ°Π·ΠΎΠ½ΠΊΠ° ΠΎΡ $35/ΠΌΠ΅ΡΠ΅Ρ Π·Π° Π½Π΅ΡΠ½ΠΈ 50 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° Π³Π΅ΠΎ-Π·Π°ΡΠ²ΠΊΠΈ. DNS Failover ΡΠ΅ ΡΠ°ΠΊΡΡΠ²Π° ΠΎΡΠ΄Π΅Π»Π½ΠΎDNS ΡΡΠ°Π½Π° Π»Π΅ΡΠ΅Π½ ΠΎΡ $125/ΠΌΠ΅ΡΠ΅Ρ, ΠΈΠΌΠ° 10 DNS FailoversCloudflare , ΡΡΠ½ΠΊΡΠΈΡΡΠ° βΠΠ΅ΠΎΠ³ΡΠ°ΡΡΠΊΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅β Π΅ Π½Π°Π»ΠΈΡΠ½Π° Π² ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΈΡΠ΅ ΠΏΠ»Π°Π½ΠΎΠ²Π΅
ΠΠΎΠ³Π°ΡΠΎ ΠΏΠΎΡΡΡΠ²Π°ΡΠ΅ geoDNS, ΡΡΡΠ±Π²Π° Π΄Π° ΠΎΠ±ΡΡΠ½Π΅ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π±ΡΠΎΡ Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅, Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ Π² ΡΠ°ΡΠΈΡΠ°ΡΠ°, ΠΈ Π΄Π° ΠΈΠΌΠ°ΡΠ΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄, ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΈΡΡ Π±ΡΠΎΠΉ Π·Π°ΡΠ²ΠΊΠΈ ΠΊΡΠΌ Π΄ΠΎΠΌΠ΅ΠΉΠ½Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°Π΄Ρ Π²ΡΡΠ»ΠΈ ΠΎΡΠ°ΠΊΠ²Π°Π½ΠΈΡΡΠ° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΏΡΡΠΈ. ΠΠΈΠ»ΠΈΠΎΠ½ΠΈ ΠΏΠ°ΡΡΠΈ, ΡΠΊΠ΅Π½Π΅ΡΠΈ, ΡΠΏΠ°ΠΌΠ΅ΡΠΈ ΠΈ Π΄ΡΡΠ³ΠΈ Π·Π»ΠΈ Π΄ΡΡ ΠΎΠ²Π΅ ΡΠ°Π±ΠΎΡΡΡ Π½Π΅ΡΠΌΠΎΡΠ½ΠΎ.
ΠΠΎΡΡΠΈ Π²ΡΠΈΡΠΊΠΈ DNS ΡΡΠ»ΡΠ³ΠΈ Π²ΠΊΠ»ΡΡΠ²Π°Ρ Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΠ° ΡΡΠ»ΡΠ³Π° Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° CDN - DNS Failover. Π‘ Π½Π΅Π³ΠΎΠ²Π° ΠΏΠΎΠΌΠΎΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΡΡΡΠΎΠΈΡΠ΅ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° Π²Π°ΡΠΈΡΠ΅ ΡΡΡΠ²ΡΡΠΈ ΠΈ ΠΏΡΠΈ Π»ΠΈΠΏΡΠ° Π½Π° ΠΏΡΠΈΠ·Π½Π°ΡΠΈ Π½Π° ΠΆΠΈΠ²ΠΎΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π΄Π° Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ Π°Π΄ΡΠ΅ΡΠ° Π½Π° Π½Π΅ΡΠ°Π±ΠΎΡΠ΅Ρ ΡΡΡΠ²ΡΡ Ρ ΡΠ΅Π·Π΅ΡΠ²Π΅Π½ Π² DNS ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈΡΠ΅.
ΠΠ° Π΄Π° ΠΈΠ·Π³ΡΠ°Π΄ΠΈΠΌ Π½Π°ΡΠΈΡ CDN, ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅
ΠΠ΅ΠΊΠ° Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½ΠΎΠ²Π° DNS Π·ΠΎΠ½Π° Π² Π»ΠΈΡΠ½ΠΈΡ Π²ΠΈ Π°ΠΊΠ°ΡΠ½Ρ, ΠΊΠ°ΡΠΎ ΠΏΠΎΡΠΎΡΠΈΡΠ΅ Π²Π°ΡΠΈΡ Π΄ΠΎΠΌΠ΅ΠΉΠ½. ΠΠΊΠΎ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°ΠΌΠ΅ CDN Π½Π° ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅ΠΉΠ½ ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΡ Π΄ΠΎΠΌΠ΅ΠΉΠ½ Π²Π΅ΡΠ΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°, ΡΠΎΠ³Π°Π²Π° Π²Π΅Π΄Π½Π°Π³Π° ΡΠ»Π΅Π΄ Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° Π·ΠΎΠ½Π°ΡΠ° Π½Π΅ Π·Π°Π±ΡΠ°Π²ΡΠΉΡΠ΅ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ DNS Π·Π°ΠΏΠΈΡΠΈ. Π‘Π»Π΅Π΄Π²Π°ΡΠ°ΡΠ° ΡΡΡΠΏΠΊΠ° Π΅ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ A-Π·Π°ΠΏΠΈΡΠ° Π·Π° CDN Π΄ΠΎΠΌΠ΅ΠΉΠ½Π° / ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅ΠΉΠ½Π°, Π²ΡΠ΅ΠΊΠΈ ΠΎΡ ΠΊΠΎΠΈΡΠΎ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ ΠΊΡΠΌ ΡΠ΅Π³ΠΈΠΎΠ½Π°, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΡΠΎΡΠΈΡ ΠΌΠ΅. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΡΠΎΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ½Π΅Π½ΡΠΈ ΠΈΠ»ΠΈ Π΄ΡΡΠΆΠ°Π²ΠΈ ΠΊΠ°ΡΠΎ ΡΠ΅Π³ΠΈΠΎΠ½ΠΈ, ΠΏΠΎΠ΄ΡΠ΅Π³ΠΈΠΎΠ½ΠΈΡΠ΅ ΡΠ° Π½Π°Π»ΠΈΡΠ½ΠΈ Π·Π° Π‘ΠΠ© ΠΈ ΠΠ°Π½Π°Π΄Π°.
Π Π½Π°ΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ CDN ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΠΎΠ²Π΄ΠΈΠ³Π½Π°Ρ Π½Π° ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅ΠΉΠ½ cdn.sayt.in. Π§ΡΠ΅Π· Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° Π·ΠΎΠ½Π° sayt.in, ΡΡΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΡΡΠ²ΠΈΡ A-Π·Π°ΠΏΠΈΡ Π·Π° ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅ΠΉΠ½Π° ΠΈ Π½Π°ΡΠΎΡΠ΅ΡΠ΅ ΡΡΠ»Π° Π‘Π΅Π²Π΅ΡΠ½Π° ΠΠΌΠ΅ΡΠΈΠΊΠ° ΠΊΡΠΌ ΡΡΡΠ²ΡΡΠ° Π² Π§ΠΈΠΊΠ°Π³ΠΎ:
ΠΠ΅ΠΊΠ° ΠΏΠΎΠ²ΡΠΎΡΠΈΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΡΠΎ Π·Π° Π΄ΡΡΠ³ΠΈ ΡΠ΅Π³ΠΈΠΎΠ½ΠΈ, ΠΊΠ°ΡΠΎ Π½Π΅ Π·Π°Π±ΡΠ°Π²ΡΠΌΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΠΌ Π΅Π΄ΠΈΠ½ Π·Π°ΠΏΠΈΡ Π·Π° ΡΠ΅Π³ΠΈΠΎΠ½ΠΈΡΠ΅ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅. ΠΡΠΎ ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π²Π° Π½Π°ΠΊΡΠ°Ρ:
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΡΡ Π·Π°ΠΏΠΈΡ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π² Π΅ΠΊΡΠ°Π½Π½Π°ΡΠ° ΡΠ½ΠΈΠΌΠΊΠ° ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ Π½Π΅ΡΡΠΎΡΠ½Π΅Π½ΠΈ ΡΠ΅Π³ΠΈΠΎΠ½ΠΈ (ΠΈ ΡΠΎΠ²Π° ΡΠ° ΠΠ²ΡΠΎΠΏΠ°, ΠΡΡΠΈΠΊΠ°, ΡΠ°ΡΠ΅Π»ΠΈΡΠ½ΠΈ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΠΈ Ρ.Π½.) ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ΠΈ Π΄ΠΎ ΡΡΡΠ²ΡΡΠ° Π²ΡΠ² Π€ΡΠ°Π½ΠΊΡΡΡΡ.
Π’ΠΎΠ²Π° Π·Π°Π²ΡΡΡΠ²Π° ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° DNS. ΠΡΡΠ°Π²Π° Π΄Π° ΠΎΡΠΈΠ΄Π΅ΡΠ΅ Π½Π° ΡΠ°ΠΉΡΠ° Π½Π° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΎΡΠ° Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ ΠΈ Π΄Π° Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ΅ΠΊΡΡΠΈΡΠ΅ NS Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ Ρ ΡΠ΅Π·ΠΈ, ΠΈΠ·Π΄Π°Π΄Π΅Π½ΠΈ ΠΎΡ ClouDNS. Π Π΄ΠΎΠΊΠ°ΡΠΎ ΡΠ΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Ρ ΠΠ‘, Π½ΠΈΠ΅ ΡΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡΠ²ΠΈΠΌ ΡΡΡΠ²ΡΡΠΈΡΠ΅.
ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ
ΠΠ°ΡΠΈΡΡ CDN ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ ΠΏΡΠ΅Π· HTTPS, ΡΠ°ΠΊΠ° ΡΠ΅ Π°ΠΊΠΎ Π²Π΅ΡΠ΅ ΠΈΠΌΠ°ΡΠ΅ SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ Π·Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅ΠΉΠ½, ΠΊΠ°ΡΠ΅ΡΠ΅ Π³ΠΈ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΡΡΡΠ²ΡΡΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠ° /etc/ssl/Π²Π°ΡΠΈΡΡ Π΄ΠΎΠΌΠ΅ΠΉΠ½/
ΠΠΊΠΎ Π½ΡΠΌΠ° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π±Π΅Π·ΠΏΠ»Π°ΡΠ΅Π½ ΠΎΡ Let's Encrypt. ΠΠ΅ΡΡΠ΅ΠΊΡΠ΅Π½ Π·Π° ΡΠΎΠ²Π°
Π©Π΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΌΠ΅ acme.sh ΡΠ°ΠΌΠΎ Π½Π° Π΅Π΄ΠΈΠ½ ΠΎΡ ΡΡΡΠ²ΡΡΠΈΡΠ΅ - Π΅Π²ΡΠΎΠΏΠ΅ΠΉΡΠΊΠΈ 199.247.18.199, ΠΎΡ ΠΊΠΎΠΉΡΠΎ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ΅ ΡΠ΅ ΡΠ΅ ΠΊΠΎΠΏΠΈΡΠ°Ρ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΎΡΡΠ°Π½Π°Π»ΠΈ. ΠΠ° Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅, ΡΡΠ°ΡΡΠΈΡΠ°ΠΉΡΠ΅:
root@cdn:~# wget -O - https://get.acme.sh | bash; source ~/.bashrc
ΠΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠΊΡΠΈΠΏΡΠ° ΡΠ΅ Π±ΡΠ΄Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΎ CRON Π·Π°Π΄Π°Π½ΠΈΠ΅ Π·Π° ΠΏΠΎ-Π½Π°ΡΠ°ΡΡΡΠ½ΠΎ ΠΏΠΎΠ΄Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ Π±Π΅Π· Π½Π°ΡΠ΅ ΡΡΠ°ΡΡΠΈΠ΅.
ΠΡΠΈ ΠΈΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ Π΄ΠΎΠΌΠ΅ΠΉΠ½ΡΡ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½ ΡΡΠ΅Π· DNS Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° API, ΡΠ°ΠΊΠ° ΡΠ΅ Π² Π»ΠΈΡΠ½ΠΈΡ Π°ΠΊΠ°ΡΠ½Ρ Π½Π° ClouDNS Π² ΠΌΠ΅Π½ΡΡΠΎ API Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΎΡΠ° ΡΡΡΠ±Π²Π° Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ Π½ΠΎΠ² ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ API ΠΈ Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΡΠ΅ ΠΏΠ°ΡΠΎΠ»Π° Π·Π° Π½Π΅Π³ΠΎ. ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΡΡ auth-id Ρ ΠΏΠ°ΡΠΎΠ»Π° ΡΠ΅ Π±ΡΠ΄Π΅ Π·Π°ΠΏΠΈΡΠ°Π½ Π²ΡΠ² ΡΠ°ΠΉΠ»Π° ~/.acme.sh/dnsapi/dns_cloudns.sh (Π΄Π° Π½Π΅ ΡΠ΅ Π±ΡΡΠΊΠ° Ρ ΡΠ°ΠΉΠ» dns_clouddns.sh). ΠΡΠΎ ΡΠ΅Π΄ΠΎΠ²Π΅ΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ ΡΠ°Π·ΠΊΠΎΠΌΠ΅Π½ΡΠΈΡΠ°Π½ΠΈ ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°Π½ΠΈ:
CLOUDNS_AUTH_ID=<auth-id>
CLOUDNS_AUTH_PASSWORD="<ΠΏΠ°ΡΠΎΠ»Ρ>"
Π‘Π΅Π³Π° ΡΠ΅ ΠΏΠΎΠΈΡΠΊΠ°ΠΌΠ΅ SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ Π·Π° cdn.sayt.in
root@cdn:~# acme.sh --issue --dns dns_cloudns -d cdn.sayt.in --reloadcmd "service nginx reload"
Π ΠΎΠΏΡΠΈΠΈΡΠ΅ Π·Π° Π² Π±ΡΠ΄Π΅ΡΠ΅ ΡΠΌΠ΅ ΠΏΠΎΡΠΎΡΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΏΡΠ΅Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° ΡΠ΅Π± ΡΡΡΠ²ΡΡΠ° ΡΠ»Π΅Π΄ Π²ΡΡΠΊΠΎ ΠΏΠΎΠ΄Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠ΅ΡΠΈΠΎΠ΄Π° Π½Π° Π²Π°Π»ΠΈΠ΄Π½ΠΎΡΡ Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° Π² Π±ΡΠ΄Π΅ΡΠ΅.
Π¦Π΅Π»ΠΈΡΡ ΠΏΡΠΎΡΠ΅Ρ ΠΏΠΎ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΡΠ½Π΅ΠΌΠ΅ Π΄ΠΎ 2 ΠΌΠΈΠ½ΡΡΠΈ, Π½Π΅ Π³ΠΎ ΠΏΡΠ΅ΠΊΡΡΠ²Π°ΠΉΡΠ΅. ΠΠΊΠΎ Π²ΡΠ·Π½ΠΈΠΊΠ½Π΅ Π³ΡΠ΅ΡΠΊΠ° ΠΏΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°ΡΠ° Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½Π°, ΠΎΠΏΠΈΡΠ°ΠΉΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° ΠΎΡΠ½ΠΎΠ²ΠΎ. ΠΠ°ΠΊΡΠ°Ρ ΡΠ΅ Π²ΠΈΠ΄ΠΈΠΌ ΠΊΡΠ΄Π΅ ΡΠ° ΠΊΠ°ΡΠ΅Π½ΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ΅:
ΠΠ°ΠΏΠΎΠΌΠ½Π΅ΡΠ΅ ΡΠ΅Π·ΠΈ ΠΏΡΡΠΈΡΠ°, ΡΠ΅ ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈ ΠΏΡΠΈ ΠΊΠΎΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° Π½Π° Π΄ΡΡΠ³ΠΈ ΡΡΡΠ²ΡΡΠΈ, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π½Π° ΡΠ΅Π± ΡΡΡΠ²ΡΡΠ°. ΠΠ΅ ΠΎΠ±ΡΡΡΠ°ΠΌΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π³ΡΠ΅ΡΠΊΠ°ΡΠ° ΠΏΡΠΈ ΠΏΡΠ΅Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈΡΠ΅ Π½Π° Nginx - ΡΡ Π½ΡΠΌΠ° Π΄Π° Π±ΡΠ΄Π΅ Π½Π° Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½ ΡΡΡΠ²ΡΡ ΠΏΡΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ.
ΠΡΠΈΡΠΊΠΎ, ΠΊΠΎΠ΅ΡΠΎ Π½ΠΈ ΠΎΡΡΠ°Π²Π° Π·Π° SSL, Π΅ Π΄Π° ΠΊΠΎΠΏΠΈΡΠ°ΠΌΠ΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ Π½Π° Π΄Π²Π° Π΄ΡΡΠ³ΠΈ ΡΡΡΠ²ΡΡΠ°, ΠΊΠ°ΡΠΎ Π·Π°ΠΏΠ°Π·ΠΈΠΌ ΠΏΡΡΡ Π΄ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅. ΠΠ΅ΠΊΠ° ΡΡΠ·Π΄Π°Π΄Π΅ΠΌ Π΅Π΄Π½ΠΈ ΠΈ ΡΡΡΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π½Π° Π²ΡΡΠΊΠ° ΠΎΡ ΡΡΡ ΠΈ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΠΊΠΎΠΏΠΈΠ΅:
root@cdn:~# mkdir -p /root/.acme.sh/cdn.sayt.in/
root@cdn:~# scp -r [email protected]:/root/.acme.sh/cdn.sayt.in/* /root/.acme.sh/cdn.sayt.in/
ΠΠ° Π΄Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΡΠ΅Π΄ΠΎΠ²Π½ΠΎ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ΅, ΡΡΠ·Π΄Π°ΠΉΡΠ΅ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ CRON Π·Π°Π΄Π°Π½ΠΈΠ΅ Π½Π° Π΄Π²Π°ΡΠ° ΡΡΡΠ²ΡΡΠ° Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ°:
scp -r [email protected]:/root/.acme.sh/cdn.sayt.in/* /root/.acme.sh/cdn.sayt.in/ && service nginx reload
Π ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ Π΄ΠΎΡΡΡΠΏΡΡ Π΄ΠΎ ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ΠΈΡ ΡΡΡΠ²ΡΡ ΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½
ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Nginx
ΠΠ° Π΄Π° ΠΎΠ±ΡΠ»ΡΠΆΠ²Π°ΠΌΠ΅ ΡΡΠ°ΡΠΈΡΠ½ΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅, ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Nginx, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½ ΠΊΠ°ΡΠΎ ΠΊΠ΅ΡΠΈΡΠ°Ρ ΠΏΡΠΎΠΊΡΠΈ ΡΡΡΠ²ΡΡ. ΠΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΠΉΡΠ΅ ΡΠΏΠΈΡΡΡΠΈΡΠ΅ Ρ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΈ Π³ΠΎ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΉΡΠ΅ ΠΈ Π½Π° ΡΡΠΈΡΠ΅ ΡΡΡΠ²ΡΡΠ°:
root@cdn:~# apt update
root@cdn:~# apt install nginx
ΠΠΌΠ΅ΡΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°ΡΠ°, Π½ΠΈΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° ΠΎΡ ΡΠΏΠΎΠΉΠ»Π΅ΡΠ° ΠΏΠΎ-Π΄ΠΎΠ»Ρ:
nginx.conf
user www-data;
worker_processes auto;
pid /run/nginx.pid;
events {
worker_connections 4096;
multi_accept on;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log off;
error_log /var/log/nginx/error.log;
gzip on;
gzip_disable "msie6";
gzip_comp_level 6;
gzip_proxied any;
gzip_vary on;
gzip_types text/plain application/javascript text/javascript text/css application/json application/xml text/xml application/rss+xml;
gunzip on;
proxy_temp_path /var/cache/tmp;
proxy_cache_path /var/cache/cdn levels=1:2 keys_zone=cdn:64m max_size=20g inactive=7d;
proxy_cache_bypass $http_x_update;
server {
listen 443 ssl;
server_name cdn.sayt.in;
ssl_certificate /root/.acme.sh/cdn.sayt.in/cdn.sayt.in.cer;
ssl_certificate_key /root/.acme.sh/cdn.sayt.in/cdn.sayt.in.key;
location / {
proxy_cache cdn;
proxy_cache_key $uri$is_args$args;
proxy_cache_valid 90d;
proxy_pass https://sayt.in;
}
}
}
Π Π΅Π΄Π°ΠΊΡΠΈΡΠ°ΠΉΡΠ΅ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ°:
- ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π΅Π½ ΡΠ°Π·ΠΌΠ΅Ρ β ΡΠ°Π·ΠΌΠ΅ΡΡΡ Π½Π° ΠΊΠ΅ΡΠ°, ΠΊΠΎΠΉΡΠΎ Π½Π΅ Π½Π°Π΄Π²ΠΈΡΠ°Π²Π° Π½Π°Π»ΠΈΡΠ½ΠΎΡΠΎ Π΄ΠΈΡΠΊΠΎΠ²ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ
- Π½Π΅Π°ΠΊΡΠΈΠ²Π΅Π½ - Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠ΅ΡΠΈΡΠ°Π½ΠΈ Π΄Π°Π½Π½ΠΈ, Π΄ΠΎ ΠΊΠΎΠΈΡΠΎ Π½ΠΈΠΊΠΎΠΉ Π½Π΅ Π΅ ΠΈΠΌΠ°Π» Π΄ΠΎΡΡΡΠΏ
- ssl_certificate ΠΈ ssl_ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ_ΠΊΠ»ΡΡ β ΠΏΡΡΠΈΡΠ° Π΄ΠΎ SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ ΠΈ ΠΊΠ»ΡΡΠΎΠ²ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅
- proxy_cache_valid - Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠ΅ΡΠΈΡΠ°Π½ΠΈ Π΄Π°Π½Π½ΠΈ
- proxy_pass β Π°Π΄ΡΠ΅Ρ Π½Π° ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡ ΡΡΡΠ²ΡΡ, ΠΎΡ ΠΊΠΎΠΉΡΠΎ CDN ΡΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π·Π° ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅. Π Π½Π°ΡΠΈΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ²Π° sayt.in
ΠΠ°ΠΊΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅, Π²ΡΠΈΡΠΊΠΎ Π΅ ΠΏΡΠΎΡΡΠΎ. Π’ΡΡΠ΄Π½ΠΎΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΡΠ·Π½ΠΈΠΊΠ½Π΅ ΡΠ°ΠΌΠΎ ΠΏΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ ΠΏΠΎΡΠ°Π΄ΠΈ ΡΡ ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΈΡΠ΅ Π½Π΅Π°ΠΊΡΠΈΠ²Π΅Π½ ΠΈ proxy_cache_valid. ΠΠ΅ΠΊΠ° Π³ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ Ρ Π½Π°ΡΠΈΡ ΠΏΡΠΈΠΌΠ΅Ρ. ΠΡΠΎ ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΡΠ»ΡΡΠ²Π°, ΠΊΠΎΠ³Π°ΡΠΎ Π½Π΅Π°ΠΊΡΠΈΠ²Π΅Π½=7Π³ ΠΈ proxy_cache_valid 90d:
- Π°ΠΊΠΎ Π·Π°ΡΠ²ΠΊΠ°ΡΠ° Π½Π΅ Π±ΡΠ΄Π΅ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½Π° Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° 7 Π΄Π½ΠΈ, ΡΠΎΠ³Π°Π²Π° Π΄Π°Π½Π½ΠΈΡΠ΅ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΈΠ·ΡΡΠΈΡΠΈ ΠΎΡ ΠΊΠ΅ΡΠ° ΡΠ»Π΅Π΄ ΡΠΎΠ·ΠΈ ΠΏΠ΅ΡΠΈΠΎΠ΄
- Π°ΠΊΠΎ Π·Π°ΡΠ²ΠΊΠ°ΡΠ° ΡΠ΅ ΠΏΠΎΠ²ΡΠ°ΡΡ ΠΏΠΎΠ½Π΅ Π²Π΅Π΄Π½ΡΠΆ Π½Π° Π²ΡΠ΅ΠΊΠΈ 7 Π΄Π½ΠΈ, ΡΠΎΠ³Π°Π²Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π² ΠΊΠ΅ΡΠ° ΡΠ΅ ΡΠ΅ ΡΡΠΈΡΠ°Ρ Π·Π° ΠΎΡΡΠ°ΡΠ΅Π»ΠΈ ΡΠ»Π΅Π΄ 90 Π΄Π½ΠΈ ΠΈ Nginx ΡΠ΅ Π³ΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ° ΡΡΡ ΡΠ»Π΅Π΄Π²Π°ΡΠ°ΡΠ° Π·Π°ΡΠ²ΠΊΠ°, ΠΊΠ°ΡΠΎ Ρ Π²Π·Π΅ΠΌΠ΅ ΠΎΡ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡ ΡΡΡΠ²ΡΡ
Π Π΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅ΡΠΎ ΠΏΡΠΈΠΊΠ»ΡΡΠΈ nginx.conf, ΠΏΡΠ΅Π·Π°ΡΠ΅Π΄Π΅ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ°:
root@cdn:~# service nginx reload
ΠΠ°ΡΠΈΡΡ CDN Π΅ Π³ΠΎΡΠΎΠ². ΠΠ° $15/ΠΌΠ΅Ρ. ΠΏΠΎΠ»ΡΡΠΈΡ ΠΌΠ΅ ΡΠΎΡΠΊΠΈ Π½Π° ΠΏΡΠΈΡΡΡΡΠ²ΠΈΠ΅ Π½Π° ΡΡΠΈ ΠΊΠΎΠ½ΡΠΈΠ½Π΅Π½ΡΠ° ΠΈ 3 TB ΡΡΠ°ΡΠΈΠΊ: 1 TB Π½Π° Π²ΡΡΠΊΠΎ ΠΌΡΡΡΠΎ.
ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° CDN
ΠΠ΅ΠΊΠ° Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΏΠΈΠ½Π³ΠΎΠ²Π΅ΡΠ΅ ΠΊΡΠΌ Π½Π°ΡΠΈΡ CDN ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π³Π΅ΠΎΠ³ΡΠ°ΡΡΠΊΠΈ ΠΌΠ΅ΡΡΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΡΠΊΠ° ΡΡΠ»ΡΠ³Π° Π·Π° ΠΏΠΈΠ½Π³ ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ Π·Π° ΡΠΎΠ²Π°.
Π‘ΡΠ°ΡΡΠΎΠ²Π° ΡΠΎΡΠΊΠ°
ΠΠΎΠ΄Π΅Ρ
IP
Π‘ΡΠ΅Π΄Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅, ΠΌΡ
ΠΠ΅ΡΠΌΠ°Π½ΠΈΡ ΠΠ΅ΡΠ»ΠΈΠ½
cdn.sayt.in
199.247.18.199
9.6
Π₯ΠΎΠ»Π°Π½Π΄ΠΈΡ, ΠΠΌΡΡΠ΅ΡΠ΄Π°ΠΌ
cdn.sayt.in
199.247.18.199
10.1
Π€ΡΠ°Π½ΡΠΈΡ ΠΠ°ΡΠΈΠΆ
cdn.sayt.in
199.247.18.199
16.3
ΠΠ΅Π»ΠΈΠΊΠΎΠ±ΡΠΈΡΠ°Π½ΠΈΡ, ΠΠΎΠ½Π΄ΠΎΠ½
cdn.sayt.in
199.247.18.199
14.9
ΠΠ°Π½Π°Π΄Π°, Π’ΠΎΡΠΎΠ½ΡΠΎ
cdn.sayt.in
149.28.121.123
16.2
Π‘ΠΠ©, Π‘Π°Π½ Π€ΡΠ°Π½ΡΠΈΡΠΊΠΎ
cdn.sayt.in
149.28.121.123
52.7
Π‘ΠΠ©, ΠΠ°Π»Π°Ρ
cdn.sayt.in
149.28.121.123
23.1
Π‘ΠΠ©, Π§ΠΈΠΊΠ°Π³ΠΎ
cdn.sayt.in
149.28.121.123
2.6
Π‘ΠΠ©, ΠΡ ΠΠΎΡΠΊ
cdn.sayt.in
149.28.121.123
19.8
Π‘ΠΈΠ½Π³Π°ΠΏΡΡ
cdn.sayt.in
157.230.240.216
1.7
Π―ΠΏΠΎΠ½ΠΈΡ Π’ΠΎΠΊΠΈΠΎ
cdn.sayt.in
157.230.240.216
74.8
ΠΠ²ΡΡΡΠ°Π»ΠΈΡ, Π‘ΠΈΠ΄Π½ΠΈ
cdn.sayt.in
157.230.240.216
95.9
Π Π΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΡΠ° Π΄ΠΎΠ±ΡΠΈ. Π‘Π΅Π³Π° ΡΠ΅ ΠΏΠΎΡΡΠ°Π²ΠΈΠΌ ΡΠ΅ΡΡΠΎΠ²ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΊΠΎΡΠ΅Π½Π° Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ ΡΠ°ΠΉΡ test.jpg ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠ΅ΡΠ΅ ΡΠΊΠΎΡΠΎΡΡΡΠ° ΠΌΡ Π½Π° ΠΈΠ·ΡΠ΅Π³Π»ΡΠ½Π΅ ΡΡΠ΅Π· CDN. ΠΠ°Π·Π°Π½ΠΎ Π΅ -
ΠΠ΅ΠΊΠ° Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΠΌΠ°Π»ΡΠΊ ΡΠΊΡΠΈΠΏΡ, Π² ΡΠ»ΡΡΠ°ΠΉ ΡΠ΅ ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° ΠΈΠ·ΡΠΈΡΡΠΈΠΌ ΠΊΠ΅ΡΠ° Π½Π° CDN ΡΠΎΡΠΊΠ°ΡΠ°.
ΡΠΈΡΡΠΊΠ°.Ρ
#!/bin/bash
if [ -z "$1" ]
then
echo "Purging all cache"
rm -rf /var/cache/cdn/*
else
echo "Purging $1"
FILE=`echo -n "$1" | md5sum | awk '{print $1}'`
FULLPATH=/var/cache/cdn/${FILE:31:1}/${FILE:29:2}/${FILE}
rm -f "${FULLPATH}"
fi
ΠΠ° Π΄Π° ΠΈΠ·ΡΡΠΈΠ΅ΡΠ΅ ΡΠ΅Π»ΠΈΡ ΠΊΠ΅Ρ, ΠΏΡΠΎΡΡΠΎ Π³ΠΎ ΡΡΠ°ΡΡΠΈΡΠ°ΠΉΡΠ΅, ΠΎΡΠ΄Π΅Π»Π΅Π½ ΡΠ°ΠΉΠ» ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ·ΡΠΈΡΡΠ΅Π½ ΠΏΠΎ ΡΠ»Π΅Π΄Π½ΠΈΡ Π½Π°ΡΠΈΠ½:
root@cdn:~# ./purge.sh /test.jpg
ΠΠΌΠ΅ΡΡΠΎ Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
Π Π½Π°ΠΊΡΠ°Ρ, ΠΈΡΠΊΠ°ΠΌ Π΄Π° Π΄Π°ΠΌ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ ΡΡΠ²Π΅ΡΠ°, Π·Π° Π΄Π° ΠΏΡΠ΅ΠΊΡΠ°ΡΠ° Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ Π³ΡΠ΅Π±Π»ΠΎΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ Π½Π°ΠΊΠ°ΡΠ° Π³Π»Π°Π²Π°ΡΠ° ΠΌΠΈ Π΄Π° Π±ΠΎΠ»ΠΈ ΠΏΠΎ ΡΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅:
- ΠΠ° Π΄Π° ΡΠ²Π΅Π»ΠΈΡΠΈΡΠ΅ ΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡΠ° Π½Π° Π³ΡΠ΅ΡΠΊΠΈ Π½Π° CDN, ΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π° Π΄Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ DNS Failover, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠΌΠ°Π³Π° Π·Π° Π±ΡΡΠ·Π° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° Π·Π°ΠΏΠΈΡ A Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΠΏΠΎΠ²ΡΠ΅Π΄Π° Π½Π° ΡΡΡΠ²ΡΡΠ°. Π’ΠΎΠ²Π° ΡΡΠ°Π²Π° Π² ΠΊΠΎΠ½ΡΡΠΎΠ»Π½ΠΈΡ ΠΏΠ°Π½Π΅Π» DNS Π·Π°ΠΏΠΈΡΠΈ Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½Π°.
- Π‘Π°ΠΉΡΠΎΠ²Π΅ΡΠ΅ Ρ ΡΠΈΡΠΎΠΊΠΎ Π³Π΅ΠΎΠ³ΡΠ°ΡΡΠΊΠΎ ΠΏΠΎΠΊΡΠΈΡΠΈΠ΅ Π±Π΅Π· ΡΡΠΌΠ½Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ Π³ΠΎΠ»ΡΠΌ Π±ΡΠΎΠΉ CDN, Π½ΠΎ Π½Π΅ΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅ΠΌ ΡΠ°Π½Π°ΡΠΈΡΠ½ΠΈ. ΠΠ°ΠΉ-Π²Π΅ΡΠΎΡΡΠ½ΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡ Π½ΡΠΌΠ° Π΄Π° Π·Π°Π±Π΅Π»Π΅ΠΆΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½Π° ΡΠ°Π·Π»ΠΈΠΊΠ° Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ ΠΏΠ»Π°ΡΠ΅Π½ CDN, Π°ΠΊΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΡΠ΅ ΡΡΡΠ²ΡΡΠΈ Π½Π° 6-7 ΠΌΠ΅ΡΡΠ°: ΠΠ²ΡΠΎΠΏΠ°, Π‘Π΅Π²Π΅ΡΠ½Π° ΠΠΌΠ΅ΡΠΈΠΊΠ° (ΠΈΠ·ΡΠΎΠΊ), Π‘Π΅Π²Π΅ΡΠ½Π° ΠΠΌΠ΅ΡΠΈΠΊΠ° (Π·Π°ΠΏΠ°Π΄), Π‘ΠΈΠ½Π³Π°ΠΏΡΡ, ΠΠ²ΡΡΡΠ°Π»ΠΈΡ, Π₯ΠΎΠ½Π³ ΠΠΎΠ½Π³ ΠΈΠ»ΠΈ Π―ΠΏΠΎΠ½ΠΈΡ
- ΠΠΎΠ½ΡΠΊΠΎΠ³Π° Ρ ΠΎΡΡΡΡΠΈΡΠ΅ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π½Π°Π΅ΡΠΈ ΡΡΡΠ²ΡΡΠΈ Π·Π° CDN ΡΠ΅Π»ΠΈ. ΠΡΠΎ Π·Π°ΡΠΎ, Π°ΠΊΠΎ Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ ΡΠ΅ΡΠΈΡΠ΅ Π΄Π° ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅ ΠΌΡΠ΅ΠΆΠ° Π·Π° Π΄ΠΎΡΡΠ°Π²ΠΊΠ° Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ ΠΊΠ°ΡΠΎ ΡΡΠ»ΡΠ³Π°, Π½Π΅ Π·Π°Π±ΡΠ°Π²ΡΠΉΡΠ΅ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠ΅ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°ΡΠ° Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ Ρ ΠΎΡΡΠΈΠ½Π³ Π΄ΠΎΡΡΠ°Π²ΡΠΈΠΊ
- Π Π°Π·Π³Π»Π΅Π΄Π°ΠΉΡΠ΅
ΠΊΠ°ΡΡΠ° Π½Π° ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΈ Π΄Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈ ΠΊΠ°ΠΊ ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΠΊΠΎΠ½ΡΠΈΠ½Π΅Π½ΡΠΈΡΠ΅ ΠΈ Π΄Π° Π²Π·Π΅ΠΌΠ΅ ΡΠΎΠ²Π° ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΠΏΡΠΈ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΡΠ΅ΠΆΠ° Π·Π° Π΄ΠΎΡΡΠ°Π²ΠΊΠ° Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ - ΠΠΏΠΈΡΠ°ΠΉΡΠ΅ Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΡΠ΅
ΠΏΠΈΠ½Π³ΠΎΠ²Π΅ ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΌΠ΅ΡΡΠ° ΠΊΡΠΌ Π²Π°ΡΠΈΡΠ΅ ΡΡΡΠ²ΡΡΠΈ. ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΡΠ΅Π³ΠΈΠΎΠ½ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ° Π½Π°ΠΉ-Π±Π»ΠΈΠ·ΠΎ Π΄ΠΎ CDN ΡΠΎΡΠΊΠΈΡΠ΅, ΠΈ Π΄Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ GeoDNS ΠΏΠΎ-ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ - Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ Π·Π°Π΄Π°ΡΠΈΡΠ΅ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π° ΠΏΡΠ΅ΡΠΈΠ·ΠΈΡΠ°ΡΠ΅ Nginx Π·Π° ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡ Π·Π° ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ ΠΈ ΠΊΠ°ΡΠΎ Π²Π·Π΅ΠΌΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΡΠ²ΡΡΠ°. Π‘ΡΠ°ΡΠΈΠΈΡΠ΅ Π·Π° ΠΊΠ΅ΡΠ° Π½Π° Nginx ΠΌΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ
Π° ΠΌΠ½ΠΎΠ³ΠΎ Π² ΡΠΎΠ²Π° -
ΡΡΠΊ ΠΈ ΡΡΠΊΠΎΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΠΏΡΠΈ Π³ΠΎΠ»Π΅ΠΌΠΈ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½ΠΈΡ:ΡΡΠΊ ΠΈΡΡΠΊ
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com