ืืื ืืึทืื ืืขืืืืืขืจื ื ืขืืืืึธืจืงืก (CDNs) ืืขื ืขื ืืขื ืืฆื ืืื ืืืขืืกืืืขืก ืืื ืึทืคึผืืึทืงืืืฉืึทื ื ืืคึฟืจื ืฆื ืคืึทืจืืืืขืจื ืื ืืึธืืืื ื ืคืื ืกืืึทืืืง ืขืืขืืขื ืื. ืืึธืก ืืึทืคึผืึทื ื ืจืขืื ืฆื ืืขืจ ืงืึทืืฉืื ื ืคืื ืืขืงืขืก ืืืืฃ CDN ืกืขืจืืืขืจืก ืืื ืคืึทืจืฉืืืขื ืข ืืืฉืืึทืืจืึทืคืืงืึทื ืืงืืืืช. ืืืจื ืจืืงืืืขืกืืื ื ืืึทืื ืืืจื CDN, ืืขืจ ืืึทื ืืฆืขืจ ื ืขืื ืขืก ืคึฟืื ืื ื ืืจืึทืกื ืกืขืจืืืขืจ.
ืื ืึทืคึผืขืจืืืืื ื ืคึผืจืื ืฆืืคึผ ืืื ืคืึทื ืืงืฉืึทื ืึทืืืื ืคืื ืึทืืข ืืื ืืึทืื ืขืงืกืคึผืจืขืก ื ืขืืืืึธืจืงืก ืืื ืืขืขืจืขื ืืขืจ ืืขืืืืงืขืจ. ื ืึธื ืืืงืืืขื ืึท ืืงืฉื ืฆื ืึธืคึผืืึธืืืจื ืึท ืืขืงืข, ืื CDN ืกืขืจืืืขืจ ื ืขืื ืขืก ืืืื ืืึธื ืคืื ืืขืจ ืึธืจืืืื ืขื ืกืขืจืืืขืจ ืืื ืืื ืขืก ืฆื ืืขืจ ืืึทื ืืฆืขืจ, ืืื ืืขืจ ืืขืืืืงืขืจ ืฆืืื ืงืึทืืฉืื ื ืขืก ืคึฟืึทืจ ืึท ืกืคึผืขืฆืืคืืฉ ืฆืืื. ืึทืืข ืกืึทืืกืึทืงืืืึทื ื ืจืืงืืืขืก ืืขื ืขื ืืขืขื ืืคืขืจื ืคืื ืื ืงืึทืฉ. ืื CDNs ืืึธืื ืึธืคึผืฆืืขืก ืฆื ืคึผืจืขืืึธืึทื ืืขืงืขืก, ืืืกืืขืงื ืื ืงืึทืฉ, ืฉืืขืื ืื ืขืงืกืคึผืขืจืืืฉืึทื ืืึธื ืืื ืืขืจ.
ืขืก ืืึทืคึผืึทื ื ืึทื, ืคึฟืึทืจ ืืืื ืึธืืขืจ ืื ืืขืจื ืกืืื, ืืืจ ืืึทืจืคึฟื ืฆื ืึธืจืืึทื ืืืืจื ืืืื ืืืืืขื ืข ืืื ืืึทืื ืขืงืกืคึผืจืขืก ื ืขืฅ, ืืื ืืขืจืืืขืจ - ืืึธืื ืืื ืื ืื ืื ืกืืจืึทืงืฉืึทื ื ืคึฟืึทืจ ืึทืกืขืืืึทืืื ื ืื ืืืืึทืืขืจ ืืืืง.
ืืงืืจ:
ืืืขื ืืืจ ืืึทืจืคึฟื ืืืื ืืืืืขื ืข CDN
ืืึทืืจืึทืืื ืื ืงืึทืกืขืก ืืืขื ืคืืืกื ืืืง ืืืื ืืืืืขื ืข CDN ืืืื ืืื ืขื:
- ืืืขื ืขืก ืืื ืึท ืคืึทืจืืึทื ื ืฆื ืฉืคึผืึธืจื ืืขืื, ืืื ืคืืืกื ืืืง ืงืึธืก ืืคืืื ืืืขื ื ืืฆื ืืืืืง CDNs ืืื
BunnyCDN ืกืืืข ืฆื ืขืืืขืืข ืืื ืืขืจื ืืึธืืืึทืจืก ืึท ืืืืฉ - ืืืื ืืืจ ืืืืื ืฆื ืืึทืงืืืขื ืึท ืฉืืขื ืืืง ืงืึทืฉ ืึธืืขืจ ืึท ืงืึทืฉ ืึธื ืกืขืจืืืขืจ ืืื ืงืึทื ืึทื ืฉืื ืื
- CDN ืืึทืืื ืื ืืก ืืึธื ื ืื ืืึธืื ืคืื ื ืคืื ืืืึทืืืึทื ืืื ืืขืจ ืืขืื ื ืืืจ ืืึทืจืคึฟื
- ืงืืื ืกืคึผืขืฆืืขืืข ืืื ืืึทืื ืขืงืกืคึผืจืขืก ืกืขืืืื ืืก ืคืืจืืื ืื
- ืืืจ ืืืืื ืฆื ืคืึทืจืืืืขืจื ืื ืขืงืกืคึผืจืขืก ืคืื ืืื ืึทืืืฉ ืืื ืืึทืื ืืืจื ืคึผืืืืกืื ื ืื ืคึผืจืึธืืืงืฆืืข ืกืขืจืืืขืจ ื ืขืขื ืืขืจ ืฆื ื ืืฆืขืจืก
- ืขืก ืืื ืึท ืืืึทืืข ืึทื ืึท ืืจืื-ืคึผืึทืจืืื CDN ืืื ืกื ืงืขื ืืืคึผืจืึทืคึผืขืจืื ืงืืืึทืื ืึธืืขืจ ื ืืฆื ืืื ืคึฟืึธืจืืึทืฆืืข ืืืขืื ืืึทื ืืฆืขืจ ื ืึทืืืจ (ืืขืื ืฆื ื ืื-GDPR-ืืขืืึธืจืืืง ืืึทืืื ืื ืืก) ืึธืืขืจ ืึธื ืืืื ื ืขืืขื ืืื ืื ืืขืจืข ืืืืขืืึทื ืึทืงืืืืืืืขืื
ืืื ืจืืึฟ ืื ืืขืจืข ืงืึทืกืขืก, ืขืก ืืื ืืขืจ ืฆืื ืขืืขื ืฆื ื ืืฆื ืืืืืกืืื ื ืคืึทืจืืืง ืกืึทืืืฉืึทื ื.
ืืืึธืก ืืึธื ืืืจ ืืึทืจืคึฟื ืฆื ืึธื ืืืืื
ืขืก ืืื ืืืื ืืขืจืืขื ืืืื ืืืจ ืืึธืื ืืืื ืืืืืขื ืข ืึทืืืึธื ืึธืืึธืืก ืกืืกืืขื (AS). ืืื ืขืก, ืืืจ ืงืขื ืขื ืืึทืฉืืืืขื ืื ืืขืืืข IP ืฆื ืขืืืขืืข ืกืขืจืืืขืจืก ืืื
ืืืื ืืืจ ืืขื ื ื ืืฉื ืึท ืฆืืคืจืืื ืืึทืืืฆืขืจ ืคืื ืึท ืืืึธืง ืคืื IP ืึทืืจืขืกืขืก, ืฆื ืืืืคื ืึท ืคึผืฉืื CDN ืืืจ ืืึทืจืคึฟื:
- ืคืขืื ื ืึธืืขื ืึธืืขืจ ืกืืืืึธืืึทืื
- ืืื ืืื ืืกืืขืจ ืฆืืืื ืกืขืจืืืขืจืก ืืื ืคืึทืจืฉืืืขื ืข ืืงืืืืช. ืืขืจ ืกืขืจืืืขืจ ืงืขื ืขื ืืืื ืืขืืึทืงืืืืึทื ืึธืืขืจ ืืืืจืืืึทื
- ืืขืึธืื ืก ืืขืฆืืึทื. ืืื ืืื, ืืขืจ ืืึทื ืืฆืขืจ, ืืืึธืก ืืื ืึทืืจืขืกื ืื ืคืขืื, ืืืขื ืืืื ืืืจืขืงืืขื ืฆื ืื ื ืืจืึทืกื ืกืขืจืืืขืจ
ืจืขืืืกืืจืืจื ืึท ืคืขืื ืืื ืกืืจ ืกืขืจืืืขืจืก
ืืื ืคืขืื ืจืขืืืกืืจืึทืฆืืข, ืึทืืฅ ืืื ืคึผืฉืื - ืืืจ ืคืึทืจืฉืจืืึทืื ืืื ืงืืื ืืึธื ืข ืืื ืงืืื ืจืขืืืกืืจืึทืืึธืจ. ืืืจ ืงืขื ื ืืืื ื ืืฆื ืึท ืกืืืืึธืืึทืื ืคึฟืึทืจ ืึท CDN, ืคึฟืึทืจ ืืืึทืฉืคึผืื ืขืคึผืขืก ืืื cdn.domainname.com. ืึทืงืืืึทืืื, ืืื ืืื ืืืขืจ ืืืึทืฉืคึผืื, ืืืจ ืืืขืื ืืึธื ืืึธืก.
ืืื ืคึฟืึทืจ ืึธืจืืขืจืื ื ืกืขืจืืืขืจืก, ืืื ืืึธื ืืืื ืจืขื ืืึทื ืืื ืื ืืงืืืืช ืืื ืืขื ืืขืจ ืืื ืืืื ืืึทื ืืฆืขืจ ืืืืขื ืืื ืืืื. ืืืื ืื ืคึผืจืืืขืงื ืืื ืื ืืขืจืงืึทื ืืึทื ืขื ืืึทื, ืขืก ืืื ืืึทืงืืืขื ืฆื ืงืืืึทืื ืืึธืกืืื ื ืคึผืจืึทืืืืืืขืจื ืืืึธืก ืคืึธืจืฉืืึธืื ืกืขืจืืืขืจืก ืืืืขืจ ืื ืืืขืื ืืื ืึทืืึธื. ืืืืฉืคืืื:
ืคึฟืึทืจ ืืื ืืืขืจ ืคึผืจืืืืึทื CDN, ืืืจ ืืืขืื ืกืืจ 3 ืืืืจืืืึทื ืกืขืจืืืขืจืก ืืืืฃ ืคืึทืจืฉืืืขื ืข ืงืึธื ืืื ืขื ืฅ. ืื ืืืืืืจ ืืืืฃ ืื ืกืขืจืืืขืจ ืคึฟืึทืจ $ 5 / ืืึธ ืืืจ ืืืขืื ืืึทืงืืืขื ืงืกื ืืืงืกืื ืกืกื ืขืจืืขืจ ืืื 1TB ืคืื ืคืึทืจืงืขืจ. ืืืขื ืื ืกืืึธืืื ื, ืืืืกืงืืืึทืื ืื ืืขืฆื ืืขืืืึทื. ืืื ืืืขืจ ืกืขืจืืืขืจืก:
FrankfurtIP: 199.247.18.199
ืืฉืืงืึทืืึธIP: 149.28.121.123
ืกืื ืืึทืคึผืึธืจIP: 157.230.240.216
* Vultr ืืื DigitalOcean ืฆืืืึธื $ 100 ืงืจืขืืื ืฆื ืืืืขืจื ืืืึธืก ืคืึทืจืฉืจืืึทืื ืืืจื ืื ืืื ืงืก ืืื ืืขื ืึทืจืืืงื ืืืืื ื ืึธื ืึทืืื ื ืึท ืฆืึธืืื ื ืืืคึฟื. ืืขืจ ืืืืจ ืืืงืืื ืืืื ืืขืจืคืื ื ืงืืืื ืข ืงืืืคืืืืขื ื, ืืืืก ืืื ืคืืจ ืืื ืืขืฆื ืืืืขืจ ืืืืืืื ืืื. ืืืืข ืืืื ืคืืจืฉืืื ื.
ืืึทืฉืืขืืืงื GeoDNS
ืึผืื ืืขืจ ืืึทื ืืฆืขืจ ืืึธื ืืืื ืืืจืขืงืืขื ืฆื ืื ืืขืืขืื (ืงืืึธืืืกื) ืกืขืจืืืขืจ ืืืขื ืึทืงืกืขืก ืึท ืคืขืื ืึธืืขืจ CDN ืกืืืืึธืืึทืื, ืืืจ ืืึทืจืคึฟื ืึท ืื ืก ืกืขืจืืืขืจ ืืื ืื ืืขืึธืื ืก ืคึฟืื ืงืฆืืข.
ืืขืจ ืคึผืจืื ืฆืืคึผ ืืื ืึธืคึผืขืจืึทืฆืืข ืคืื โโืืขืึธืื ืก ืืื ืืื ืืืื:
- ืกืคึผืขืฆืืคืืฆืืจื ืื IP ืคืื ืืขื ืงืืืขื ื ืืืึธืก ืืึธื ืืขืฉืืงื ืื ืื ืก ืืขืื, ืึธืืขืจ ืื IP ืคืื ืื ืจืขืงืืจืกืืืืข ืื ืก ืกืขืจืืืขืจ ืืืึธืก ืืื ืืขื ืืฆื ืืืขื ืคึผืจืึทืกืขืกืื ื ืื ืงืืืขื ื ืืขืื. ืึทืืึท ืจืขืงืืจืกืืืืข ืกืขืจืืืขืจืก ืืขื ืขื ืืืืฉืึทืืืึทืื DNS-s ืคืื ืคึผืจืึทืืืืืืขืจื.
- ืืขืจ IP ืคืื ืืขืจ ืงืืืขื ื ืื ืขืจืงืขื ื ืืืื ืืึทื ื ืึธืืขืจ ืืขืื ื. ืคึฟืึทืจ ืืขื, GeoIP ืืึทืืึทืืืืกืื ืืขื ืขื ืืขื ืืฆื, ืคืื ืืืึธืก ืขืก ืืขื ืขื ืคืืืข ืืืึทื ื. ืขืก ืืขื ืขื ืืื
ืคึฟืจืืึท ืึธืคึผืฆืืขืก . - ืืขืคึผืขื ืืื ื ืืืืฃ ืืขื ืึธืจื ืคืื ืืขื ืงืืืขื ื, ืืื ืืื ืื IP ืึทืืจืขืก ืคืื ืื ื ืืจืึทืกื CDN ืกืขืจืืืขืจ.
ืื ืก ืกืขืจืืืขืจ ืืื ืืขืึธืื ืก ืคืื ืงืฆืืข ืงืขื ืขื ืืืื
CloudDNS ืคืื $ 9.95 / ืืึธ, GeoDNS ืฆืึธื, ืืืจื ืคืขืืืงืืึทื ืขืก ืืื ืืืื ืื ืก ืคืึทืืืึธืืืขืจืืืืึธืจืข ืคืื $ 25 / ืืึธ, ืื ืก ืคืึทืืืึธืืืขืจ ืขื ืืืืึทืืืึทืืึทืืึธื ืจืื 53 ืคืื $ 35 / ืืึธ ืคึฟืึทืจ ืึท ื ืขืฅ 50M ืืขืึธ-ืจืืงืืืขืก. ืื ืก ืคืึทืืืึธืืืขืจ ืืื ืืืืขื ืกืขืคึผืขืจืึทืืืืื ืก ืืึทืืข ืืื ืคืื $ 125 / ืืึธ, ืขืก ืืขื ืขื 10 ืื ืก ืคืึทืืืึธืืืขืจืกืงืืึธืืืคืืึทืจืข , "Geo Steering" ืฉืืจืื ืืื ืื ืืืฆื ืืื ืขื ืืขืจืคึผืจืืื ืคึผืืึทื ื
ืืืขื ืึธืจืืขืจืื ื ืืขืึธืื ืก, ืืืจ ืืึธื ืืึทืฆืึธืื ืืคืืขืจืงืืึทืืงืืื ืฆื ืื ื ืืืขืจ ืคืื ืจืืงืืืขืก ืึทืจืืึทื ืืขืจืขืื ื ืืื ืื ืฆืึธื ืืื ืืึทืืื ืืื ืืืื ืื ื ืึทื ืื ืคืึทืงืืืฉ ื ืืืขืจ ืคืื ืจืืงืืืขืก ืฆื ืื ืคืขืื ืงืขื ืขื ืืงืกืื ืื ืขืงืกืคึผืขืงืืืืฉืึทื ื ืขืืืขืืข ืืึธื. ืืืืืึทื ื ืคืื ืกืคึผืืืืขืจื, ืกืงืึทื ืขืจื, ืกืคึผืึทืืืขืจืก ืืื ืื ืืขืจืข ืืืื ืฉืืืืื ื ืึทืจืืขื ืืืืขืจืืึทืกืื.
ืึผืืขื ืึทืืข ืื ืก ืืึทืืื ืื ืืก ืึทืจืืึทื ื ืขืืขื ืึท ืื ืืืกืคึผืขื ืกืึทืืึทื ืืื ืกื ืคึฟืึทืจ ืื ืื ืึท CDN - ืื ืก ืคืึทืืืึธืืืขืจ. ืืื ืืืื ืืืืฃ, ืืืจ ืงืขื ืขื ืฉืืขืื ืึทืจืืืฃ ืืึธื ืืืึธืจืื ื ืคืื ืื ืึธืคึผืขืจืึทืฆืืข ืคืื โโืืืื ืกืขืจืืืขืจืก ืืื, ืืื ืืขืจ ืึทืืืขืง ืคืื ืืืืื ืืขืจ ืคืื ืืขืื, ืืืืืึธืืึทืืืฉ ืคืึทืจืืืึทืื ืื ืึทืืจืขืก ืคืื ืึท ื ืื-ืืจืืขืื ืกืขืจืืืขืจ ืืื ืึท ืืึทืงืึทืคึผ ืืืื ืขืจ ืืื ืื ืก ืจืขืกืคึผืึธื ืกืขืก.
ืฆื ืืืืขื ืืื ืืืขืจ CDN, ืืืจ ืืืขืื ื ืืฆื
ืืึธืืืจ ืืืืื ืึท ื ืืึทืข ืื ืก ืืึธื ืข ืืื ืืืื ืคืขืจืืขื ืืขืืข ืืฉืืื, ืกืคึผืขืฆืืคืืฆืืจื ืืืื ืคืขืื. ืืืื ืืืจ ืืืืขื ืึท CDN ืืืืฃ ืึท ืกืืืืึธืืึทืื, ืืื ืื ืืืืคึผื ืคืขืื ืืื ืฉืืื ืืื ื ืืฆื, ืืืืื ื ืึธื ืึทืืื ื ืื ืืึธื ืข, ืืึธื ื ืื ืคืึทืจืืขืกื ืฆื ืืืืื ืื ืืืืืกืืื ื ืืจืืขืื ืื ืก ืจืขืงืึธืจืืก. ืืขืจ ืืืืึทืืขืจ ืฉืจืื ืืื ืฆื ืฉืึทืคึฟื ืขืืืขืืข ื-ืจืขืงืึธืจืืก ืคึฟืึทืจ ืื CDN ืคืขืื / ืกืืืืึธืืึทืื, ืืขืืขืจ ืคืื ืืืึธืก ืืืขื ืืืื ืืขืืืขื ืื ืฆื ืืขืจ ืืขืื ื ืืืึธืก ืืืจ ืกืคึผืขืกืืคืืขื. ืืืจ ืงืขื ืขื ืกืคึผืขืฆืืคืืฆืืจื ืงืึธื ืืื ืขื ืฅ ืึธืืขืจ ืืขื ืืขืจ ืืื ืืงืืืืช, ืกืึทื-ืจืขืืืึธื ืก ืืขื ืขื ืืืจืขืืืืื ืคึฟืึทืจ ืื USA ืืื ืงืึทื ืึทืืข.
ืืื ืืื ืืืขืจ ืคืึทื, ืื CDN ืืืขื ืืืื ืืืืคืฉืืืื ืืืืฃ ืึท ืกืืืืึธืืึทืื cdn.sayt.in. ืืืจื ืึทืืื ื ืึท ืืึธื ืข sayt.in, ืฉืึทืคึฟื ืื ืขืจืฉืืขืจ ื-ืจืขืงืึธืจื ืคึฟืึทืจ ืื ืกืืืืึธืืึทืื ืืื ืืืืึทืื ืึทืืข ืฆืคืื ืึทืืขืจืืงืข ืฆื ืื ืกืขืจืืืขืจ ืืื ืืฉืืงืึทืืึธ:
ืืึธืืืจ ืืืืขืจืืืจื ืืขื ืงืึทืืฃ ืคึฟืึทืจ ืื ืืขืจืข ืืงืืืืช, ืืขืืขื ืงืขื ืฆื ืฉืึทืคึฟื ืืืื ืคึผืึธืืืฆืืข ืคึฟืึทืจ ืื ืคืขืืืงืืึทื ืืงืืืืช. ืืึธ ืก ืืืึธืก ืืึทืคึผืึทื ื ืืื ืื ืกืืฃ:
ืื ืืขืฆืืข ืคืขืืืงืืึทื ืคึผืึธืืืฆืืข ืืื ืื ืกืงืจืขืขื ืฉืึธื ืืืื ืึทื ืึทืืข ืื ืกืคึผืขืกืืคืืขื ืืงืืืืช (ืืื ืืึธืก ืืขื ืขื ืืืืจืึธืคึผืข, ืืคืจืืงืข, ืกืึทืืขืืื ืืื ืืขืจื ืขื ื ืืฆืขืจืก, ืืื"ื ื) ืืืขื ืืืื ืืขืฉืืงื ืฆื ืื ืกืขืจืืืขืจ ืืื ืคืจืื ืงืคืืจื.
ืืึธืก ืงืึทืืคึผืืืฅ ืื ืืงืขืจืืืง ืื ืก ืกืขืืึทืคึผ. ืขืก ืืืืืื ืฆื ืืืื ืฆื ืื ืืืขืืืืืื ืคืื ืื ืคืขืื ืจืขืืืกืืจืึทืืึธืจ ืืื ืคืึทืจืืืึทืื ืื ืงืจืึทื ื ืคืขืื NSs ืืื ืื ืืจืืืกืืขืืขืื ืืืจื ClouDNS. ืืื ืืฉืขืช ืื NSs ืืืขื ืืืื ืืขืจืืืึทื ืืืงื, ืืืจ ืืืขืื ืฆืืืจืืืื ืื ืกืขืจืืืขืจืก.
ืืึทื ืืึธื ืืืจืื ื ืคืื ืกืกื ืกืขืจืืืคืืงืึทืฅ
ืืื ืืืขืจ CDN ืืืขื ืึทืจืืขืื ืืืืขืจ ืืืืคึผืก, ืึทืืื ืืืื ืืืจ ืฉืืื ืืึธืื ืกืกื ืกืขืจืืืคืืงืึทืฅ ืคึฟืึทืจ ืึท ืคืขืื ืึธืืขืจ ืกืืืืึธืืึทืื, ืฆืืคึฟืขืืืงืขืจ ืืื ืฆื ืึทืืข ืกืขืจืืืขืจืก, ืืืฉื, ืฆื ืื ืืืขืืืืืึทืืขืจ /etc/ssl/yourdomain/
ืืืื ืขืก ืืขื ืขื ืงืืื ืกืขืจืืืคืืงืึทืฅ, ืืืจ ืงืขื ืขื ืืึทืงืืืขื ืึท ืคืจืื ืคึฟืื Let's Encrypt. ืืื ืฅ ืคึฟืึทืจ ืืขื
ืืืจ ืืืขืื ืื ืกืืึทืืืจื acme.sh ืืืืฃ ืืืืื ืืืื ืขืจ ืคืื ืื ืกืขืจืืืขืจืก - ืืืืจืืคืขืืฉืขืจ 199.247.18.199, ืคึฟืื ืืืึธืก ืกืขืจืืืคืืงืึทืฅ ืืืขื ืืืื ืงืึทืคึผืื ืฆื ืึทืืข ืื ืื ืืขืจืข. ืฆื ืื ืกืืึทืืืจื, ืืืืคื:
root@cdn:~# wget -O - https://get.acme.sh | bash; source ~/.bashrc
ืืขืฉืึทืก ืื ืื ืกืืึทืืืจืื ื ืคืื ืื ืฉืจืืคื, ืึท CRON ืึทืจืืขื ืืืขื ืืืื ืืืฉืืคื ืคึฟืึทืจ ืืืืึทืืขืจ ืจืื ืืึทื ืคืื ืกืขืจืืืคืืงืึทืฅ ืึธื ืืื ืืืขืจ ืึธื ืืืื.
ืืืขื ืืืจ ืึทืจืืืกืืขืื ืึท ืืึทืืืืึทืื, ืื ืคืขืื ืืืขื ืืืื ืึธืคึผืืขืฉืืขืื ืืื ืื ืก ื ืืฆื ืื ืึทืคึผื, ืึทืืื ืืื ืื ืงืืึธืืื ืก ืคึผืขืจืืขื ืืขื ืืฉืืื ืืื ืื ืจืืกืขืืขืจ ืึทืคึผื ืืขื ืื, ืืืจ ืืึทืจืคึฟื ืฆื ืฉืึทืคึฟื ืึท ื ืืึทืข ืืึทื ืืฆืขืจ ืึทืคึผื ืืื ืฉืืขืื ืึท ืคึผืึทืจืึธื ืคึฟืึทืจ ืขืก. ืื ืจืืืึทืืืื ื ืึทืื-ืฉืืึทื ืืื ืึท ืคึผืึทืจืึธื ืืืขื ืืืื ืืขืฉืจืืื ืืื ืืขืจ ืืขืงืข ~/.acme.sh/dnsapi/dns_cloudns.sh (ื ืื ืฆื ืืืื ืฆืขืืืฉื ืืื ืืขืงืข dns_cloudืื ืก.ืฉ). ืืึธ ืืขื ืขื ืื ืฉืืจืืช ืืืึธืก ืืึทืจืคึฟื ืฆื ืืืื ืึทื ืงืึทืืึทื ืืื ืืื ืขืืืืื:
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_certificate_key - ืคึผืึทืืก ืฆื 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 ืื ืคืื ืคืึทืจืงืขืจ: 1 ืื ืืื ืืขืืขืจ ืึธืจื.
ืงืึธื ืืจืึธืืืจืื ื ืื ืึทืจืืขื ืคืื 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
USA, ืกืึทื ืคึฟืจืึทื ืกืืกืงืึธ
cdn.sayt.in
149.28.121.123
52.7
USA, Dallas
cdn.sayt.in
149.28.121.123
23.1
USA, ืืฉืืงืึทืืึธ
cdn.sayt.in
149.28.121.123
2.6
USA, ื ืื ืืืจืง
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 ืคืื ื.
purge.sh
#!/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, ืืืึธืก ืืขืืคึผืก ืฆื ืืขืฉืืืื ื ืืืืฉื ืื ื ืจืขืงืึธืจื ืืื ืื ืืขืฉืขืขื ืืฉ ืคืื ืึท ืกืขืจืืืขืจ ืืจืืืงืืึทืื. ืืขื ืืื ืืขืืื ืืื ืื ืงืึธื ืืจืึธื ืืึทืคืืืข ืื ืก ืจืขืงืึธืจืืก ืคืื ืื ืคืขืื.
- ืืืืืืขื ืืื ืึท ืืจืืื ืืืฉืืึทืืจืึทืคืืง ืืขืจืืจืืืื ืืืขื ืืื ืกืคืง ืืึทืจืคื ืึท ืืจืืืก ื ืืืขืจ ืคืื CDN ืคืื ืงืื, ืึธืืขืจ ืืึธืืืจ ื ืืฉื ืืืื ืคืึทื ืึทืืืฉ. ืจืืึฟ ืืกืชึผืื, ืืขืจ ืืึทื ืืฆืขืจ ืืืขื ื ืืฉื ืืึทืืขืจืงื ืึท ืืึทืืืืืืง ืืืืืง ืงืึทืืคึผืขืจื ืืื ืึท ืืึทืฆืึธืื CDN ืืืื ืืืจ ืฉืืขืื ืกืขืจืืืขืจืก ืืื 6-7 ืขืจืืขืจ: ืืืืจืึธืคึผืข, ืฆืคืื ืึทืืขืจืืงืข (ืืืจื), ืฆืคืื ืึทืืขืจืืงืข (ืืขืจื), ืกืื ืืึทืคึผืึธืจ, ืืืืกืืจืึทืืืข, ืืึธื ื ืงืึธื ื ืึธืืขืจ ืืึทืคึผืึทื.
- ืืื ืืึทืกืืขืจื ืืึธื ื ืื ืืึธืื ืื ื ืืฆื ืคืื ืจืขื ืืึทื ืกืขืจืืืขืจืก ืคึฟืึทืจ CDN ืฆืืืขืงื. ืืขืจืืืขืจ, ืืืื ืืืจ ืคึผืืืฆืืื ื ืืึทืฉืืืกื ืฆื ืฆืขืืืืงืืขื ืึท ืืื ืืึทืื ืขืงืกืคึผืจืขืก ื ืขืฅ ืืื ืึท ืืื ืกื, ืืึธื ื ืื ืคืึทืจืืขืกื ืฆื ืืืืขื ืขื ืื ืึผืืืื ืคืื ืืืื ืกืคึผืขืฆืืคืืฉ ืืึธืกืืื ื ืฉืคึผืืึทืืขืจ ืืื ืฉืืืึทืื.
- ืืืกืคืึธืจืฉื
ืึทื ืืขืจืืืึธืืขืจ ืงืึธืืื ืืงืึทืฆืืข ืืึทืคึผืข ืฆื ืืืึทืืืฉืึทื ืืื ืื ืงืึธื ืืื ืขื ืฅ ืืขื ืขื ืคืืจืืื ืื ืืื ื ืขืืขื ืืขื ืืื ืืฉืืื ืืืขื ืืืจ ืืืืขื ืึท ืืื ืืึทืื ืขืงืกืคึผืจืขืก ื ืขืฅ - ืคึผืจืืืืจื ืฆื ืงืึธื ืืจืึธืืืจื
ืคึผืื ืืก ืคืื ืคืึทืจืฉืืืขื ืข ืขืจืืขืจ ืฆื ืืืื ืกืขืจืืืขืจืก. ืืขื ืืืขื ืืืจ ืงืขื ืขื ืืขื ืื ืืงืืืืช ืงืืึธืืกืึทืกื ืฆื ืื CDN ืคืื ืงืื ืืื ืงืึทื ืคืืืืขืจ GeoDNS ืืขืจ ืจืืืืืง - ืืขืคึผืขื ืืื ื ืืืืฃ ืื ืืึทืกืงืก, ืขืก ืืืขื ืืืื ื ืืฆืืง ืฆื ืคืืื ื ืืื ืงืก ืคึฟืึทืจ ืกืคึผืขืฆืืคืืฉ ืงืึทืืฉืื ื ืจืขืงืืืืจืขืืขื ืฅ ืืื ื ืขืืขื ืืื ืืฉืืื ืื ืืึทืกืข ืืืืฃ ืื ืกืขืจืืืขืจ. ืื ืึทืจืืืงืืขื ืืืขืื Nginx ืงืึทืฉ ืืขืืึธืืคึฟื ืืืจ ืึท ืคึผืืึทืฅ ืืื ืืขื -
ืืึธ ืืื ืึทืงืกืขืืขืจืืืฉืึทื ืคืื ืึทืจืืขื ืืื ืืขืจ ืฉืืืขืจ ืืึธืืื:ืืึธ ะธืืึธ
ืืงืืจ: www.habr.com