ã³ã³ãã³ãé ä¿¡ãããã¯ãŒã¯ (CDN) ã¯ãäž»ã«éçèŠçŽ ã®èªã¿èŸŒã¿ãé«éåããããã« Web ãµã€ããã¢ããªã±ãŒã·ã§ã³ã§äœ¿çšãããŸãã ããã¯ãå°ççã«ç°ãªãå°åã«ãã CDN ãµãŒããŒäžã®ãã¡ã€ã«ã®ãã£ãã·ã¥ãåå ã§çºçããŸãã CDN çµç±ã§ããŒã¿ããªã¯ãšã¹ããããšããŠãŒã¶ãŒã¯æå¯ãã®ãµãŒããŒããããŒã¿ãåãåããŸãã
ãã¹ãŠã®ã³ã³ãã³ãé ä¿¡ãããã¯ãŒã¯ã®åäœåçãšæ©èœã¯ã»ãŒåãã§ãã ãã¡ã€ã«ã®ããŠã³ããŒãèŠæ±ãåä¿¡ãã CDN ãµãŒããŒã¯ãå ã®ãµãŒããŒãããã¡ã€ã«ã XNUMX åã ãååŸããŠãŠãŒã¶ãŒã«æäŸããåæã«æå®ãããæéãã£ãã·ã¥ããŸãã åŸç¶ã®ãã¹ãŠã®ãªã¯ãšã¹ãã¯ãã£ãã·ã¥ããå¿çãããŸãã ãã¹ãŠã® CDN ã«ã¯ããã¡ã€ã«ã®ããªããŒãããã£ãã·ã¥ã®ã¯ãªã¢ãæå¹æéã®èšå®ãªã©ã®ãªãã·ã§ã³ããããŸãã
äœããã®çç±ã§ãç¬èªã®ã³ã³ãã³ãé ä¿¡ãããã¯ãŒã¯ãçµç¹ããå¿ èŠãããå ŽåããããŸãããã®å Žåã¯ã次ã®èªè»¢è»ã®çµã¿ç«ãŠæé ãåèã«ããŠãã ããã
åºæïŒ
ç¬èªã® CDN ãå¿ èŠãªå Žå
ç¬èªã® CDN ãå®è¡ããããšãåççãªå ŽåãèããŠã¿ãŸãããã
- ãªã©ã®å®äŸ¡ãª CDN ã䜿çšããå Žåã§ããã³ã¹ããšã©ã³ãã³ã°ã³ã¹ããç¯çŽãããå Žåã
ãããŒCDN æã«æ°çŸãã«ã«éãã - æ°žç¶çãªãã£ãã·ã¥ãååŸãããå ŽåããŸãã¯ãµãŒããŒãšãã£ãã«ã®è¿é£ã®ãªããã£ãã·ã¥ãååŸãããå Žå
- CDN ãµãŒãã¹ã«ã¯ãå¿ èŠãªå°åã« POS ããããŸãã
- ç¹å¥ãªã³ã³ãã³ãé ä¿¡èšå®ãå¿ èŠãªå Žå
- å®çšŒåãµãŒããŒããŠãŒã¶ãŒã®è¿ãã«é 眮ããããšã§ãåçã³ã³ãã³ãã®é ä¿¡ãé«éåããããšèããŠããŸãã
- ãµãŒãããŒãã£ã® CDN ãµãŒãã¹ããŠãŒã¶ãŒã®è¡å (GDPR ã«æºæ ããŠããªããµãŒãã¹) ã«é¢ããæ å ±ãéæ³ã«åéãŸãã¯äœ¿çšãããããã®ä»ã®éæ³è¡çºãè¡ã£ããããå¯èœæ§ããããšããæžå¿µããããŸãã
ãã®ä»ã®ã»ãšãã©ã®å Žåãæ¢åã®æ¢è£œã®ãœãªã¥ãŒã·ã§ã³ã䜿çšããæ¹ãé©åã§ãã
äœãå§ããå¿ èŠããããŸãã
ç¬èªã®èªåŸã·ã¹ãã (AS) ãæã£ãŠããã®ã¯çŽ æŽãããããšã§ãã ããã䜿çšãããšãåã IP ãè€æ°ã®ãµãŒããŒã«å²ãåœãŠãããšãã§ãã
IP ã¢ãã¬ã¹ã®ãããã¯ã®ææè ã«æºè¶³ããŠããªãå ŽåãåçŽãª CDN ãå®è¡ããã«ã¯æ¬¡ã®ãã®ãå¿ èŠã§ãã
- ãã¡ã€ã³åãŸãã¯ãµããã¡ã€ã³
- ç°ãªããªãŒãžã§ã³ã«å°ãªããšã XNUMX ã€ã®ãµãŒããŒã ãµãŒããŒã¯å°çšãµãŒããŒãŸãã¯ä»®æ³ãµãŒããŒã®ããããã«ãªããŸã
- 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 ãµããã¡ã€ã³ã«ã¢ã¯ã»ã¹ãããšãã«ãç®çã® (æãè¿ã) ãµãŒããŒã«ãªãã€ã¬ã¯ããããããã«ããã«ã¯ãgeoDNS æ©èœãåãã DNS ãµãŒããŒãå¿ èŠã§ãã
geoDNS ã®åçãšåäœã¯æ¬¡ã®ãšããã§ãã
- DNS èŠæ±ãéä¿¡ããã¯ã©ã€ã¢ã³ãã® IPããŸãã¯ã¯ã©ã€ã¢ã³ãèŠæ±ã®åŠçæã«äœ¿çšãããååž° DNS ãµãŒããŒã® IP ãæå®ããŸãã ãã®ãããªååž°ãµãŒããŒã¯éåžžããããã€ããŒã® DNS ã§ãã
- ã¯ã©ã€ã¢ã³ãã® IP ã¯ãã¯ã©ã€ã¢ã³ãã®åœãŸãã¯å°åãèªèããŸãã ãã®ããã«ãä»æ¥ã§ã¯éåžžã«å€ãã® GeoIP ããŒã¿ããŒã¹ã䜿çšãããŸãã è¯ããã®ããããŸã
ç¡æãªãã·ã§ã³ . - ã¯ã©ã€ã¢ã³ãã®å Žæã«å¿ããŠãæãè¿ã CDN ãµãŒããŒã® IP ã¢ãã¬ã¹ãæäŸããŸãã
geoDNSæ©èœãåããDNSãµãŒããŒãå©çšå¯èœ
ã¯ã©ãŠãDNS ãã $9.95/æãGeoDNS æéè¡šãããã©ã«ãã§ã¯ XNUMX ã€ã® DNS ãã§ãŒã«ãªãŒããŒããããŸããžã㬠ãã $25/æãDNS ãã§ã€ã«ãªãŒããŒãæå¹ã«ãªã£ãŠããŸãã¢ããŸã³ã«ãŒã53 ãã $35/æ æ£å³ 50 äžã®å°åãªã¯ãšã¹ãã®å Žåã DNS ãã§ã€ã«ãªãŒããŒã¯å¥éæéãããããŸãDNSãç°¡åã« ãã $125/æãDNS ãã§ã€ã«ãªãŒããŒã¯ 10 åãããŸãCloudFlare , ãGeo Steeringãæ©èœã¯Enterpriseãã©ã³ã§å©çšå¯èœã§ãã
geoDNS ã泚æãããšãã¯ãæéã«å«ãŸãããªã¯ãšã¹ãã®æ°ã«æ³šæãããã¡ã€ã³ãžã®å®éã®ãªã¯ãšã¹ãã®æ°ãäºæ³ã®æ°åãè¶ ããå¯èœæ§ãããããšã«çæããå¿ èŠããããŸãã äœçŸäžãã®ã¹ãã€ããŒãã¹ãã£ããŒãã¹ãããŒããã®ä»ã®æªéãäŒã¿ãªãåããŠããŸãã
ã»ãŒãã¹ãŠã® DNS ãµãŒãã¹ã«ã¯ãCDN ã®æ§ç¯ã«äžå¯æ¬ ãªãµãŒãã¹ã§ãã DNS ãã§ãŒã«ãªãŒããŒãå«ãŸããŠããŸãã ãããå©çšãããšããµãŒããŒã®åäœã®ç£èŠãèšå®ããçåœã®å åããªãå Žåã«ã¯ãDNS å¿çå ã®åäœããŠããªããµãŒããŒã®ã¢ãã¬ã¹ãããã¯ã¢ããã®ã¢ãã¬ã¹ã«èªåçã«çœ®ãæããããšãã§ããŸãã
CDN ãæ§ç¯ããã«ã¯ã次ã䜿çšããŸãã
ãã¡ã€ã³ãæå®ããŠãå人ã¢ã«ãŠã³ãã«æ°ãã DNS ãŸãŒã³ãè¿œå ããŸãããã ãµããã¡ã€ã³äžã« CDN ãæ§ç¯ããŠããŠãã¡ã€ã³ ãã¡ã€ã³ããã§ã«äœ¿çšãããŠããå Žåã¯ããŸãŒã³ãè¿œå ããçŽåŸã«ãæ¢åã®äœæ¥äžã® DNS ã¬ã³ãŒããå¿ããã«è¿œå ããŠãã ããã 次ã®ã¹ãããã§ã¯ãCDN ãã¡ã€ã³/ãµããã¡ã€ã³ã«è€æ°ã® A ã¬ã³ãŒããäœæãããããããæå®ãããªãŒãžã§ã³ã«é©çšãããŸãã 倧éžãŸãã¯åœãå°åãšããŠæå®ã§ããŸããç±³åœãšã«ããã§ã¯ãµãå°åã䜿çšã§ããŸãã
ãã®äŸã§ã¯ãCDN ã¯ãµããã¡ã€ã³äžã§çæãããŸãã cdn.sayt.inã ãŸãŒã³ãè¿œå ããããšã§ èšã£ããããµããã¡ã€ã³ã®æåã® A ã¬ã³ãŒããäœæããåç±³å šåãã·ã«ãŽã®ãµãŒããŒãæãããã«ããŸãã
ä»ã®ãªãŒãžã§ã³ã«å¯ŸããŠãåãæäœãç¹°ãè¿ããŠãã ãããããã©ã«ãã®ãªãŒãžã§ã³ã«å¯Ÿã㊠XNUMX ã€ã®ãšã³ããªãäœæããããšãå¿ããªãã§ãã ããã æçµçã«ã¯æ¬¡ã®ããã«ãªããŸãã
ã¹ã¯ãªãŒã³ã·ã§ããã®æåŸã®ããã©ã«ã ãšã³ããªã¯ãäžç¹å®ã®ãã¹ãŠã®å°å (ãšãŒããããã¢ããªã«ãè¡æã€ã³ã¿ãŒããã ãŠãŒã¶ãŒãªã©) ããã©ã³ã¯ãã«ãã®ãµãŒããŒã«éä¿¡ãããããšãæå³ããŸãã
ããã§åºæ¬çãªDNSèšå®ã¯å®äºã§ãã ãã¡ã€ã³ ã¬ãžã¹ãã©ã® Web ãµã€ãã«ã¢ã¯ã»ã¹ããŠãçŸåšã®ãã¡ã€ã³ NS ã ClouDNS ã«ãã£ãŠçºè¡ããããã®ã«çœ®ãæããå¿ èŠããããŸãã NSã®æŽæ°ãšåæã«ãµãŒããŒã®æºåãè¡ããŸãã
SSL蚌ææžã®ã€ã³ã¹ããŒã«
CDN 㯠HTTPS çµç±ã§åäœããããããã¡ã€ã³ãŸãã¯ãµããã¡ã€ã³ã® SSL 蚌ææžããã§ã«ãæã¡ã®å Žåã¯ããããããã¹ãŠã®ãµãŒã㌠(ããšãã°ããã£ã¬ã¯ããª) ã«ã¢ããããŒãããŠãã ããã /etc/ssl/ããªãã®ãã¡ã€ã³/
蚌ææžããªãå Žåã¯ãLet's Encrypt ããç¡æã§èšŒææžãååŸã§ããŸãã ããã«æé©
acme.sh ã 199.247.18.199 å°ã®ãµãŒã㌠(ãšãŒããã XNUMX) ã«ã®ã¿ã€ã³ã¹ããŒã«ãããããã蚌ææžãä»ã®ãã¹ãŠã®ãµãŒããŒã«ã³ããŒãããŸãã ã€ã³ã¹ããŒã«ããã«ã¯ã次ãå®è¡ããŸãã
root@cdn:~# wget -O - https://get.acme.sh | bash; source ~/.bashrc
ã¹ã¯ãªããã®ã€ã³ã¹ããŒã«äžã«ãç§ãã¡ã®åå ãªãã«èšŒææžãããã«æŽæ°ããããã® CRON ãžã§ããäœæãããŸãã
蚌ææžçºè¡æã«ã¯APIãå©çšããŠDNSã«ãããã¡ã€ã³ãã§ãã¯ãè¡ããããReseller APIã¡ãã¥ãŒã®ClouDNSå人ã¢ã«ãŠã³ãã§æ°èŠãŠãŒã¶ãŒAPIãäœæãããã¹ã¯ãŒããèšå®ããå¿ èŠããããŸãã çµæã®èªèšŒ 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"
ãªãã·ã§ã³ã§ã¯ãå°æ¥ã®ããã«ã蚌ææžã®æå¹æéãæŽæ°ããããã³ã« Web ãµãŒããŒæ§æãèªåçã«åããŒãããã³ãã³ããæå®ããŸããã
蚌ææžãååŸããããã»ã¹å šäœã«ã¯æ倧 2 åãããå ŽåããããŸããäžæããªãã§ãã ããã ãã¡ã€ã³æ€èšŒãšã©ãŒãçºçããå Žåã¯ãã³ãã³ããå床å®è¡ããŠãã ããã æåŸã«ã蚌ææžãã¢ããããŒããããå Žæã衚瀺ãããŸãã
ãããã®ãã¹ã¯ãWeb ãµãŒããŒèšå®ã ãã§ãªãã蚌ææžãä»ã®ãµãŒããŒã«ã³ããŒãããšãã«ãæå®ããå¿ èŠããããããèŠããŠãããŠãã ããã Nginx æ§æã®åããŒãã®ãšã©ãŒã«ã¯æ³šæãæããŸããã蚌ææžãæŽæ°ãããšãã«ãå®å šã«æ§æããããµãŒããŒäžã«ååšããŸããã
SSL ã«é¢ããŠæ®ã£ãŠããã®ã¯ããã¡ã€ã«ãžã®ãã¹ãç¶æããªãããåä¿¡ãã蚌ææžãä»ã® XNUMX ã€ã®ãµãŒããŒã«ã³ããŒããããšã ãã§ãã ããããã«åããã£ã¬ã¯ããªãäœæããã³ããŒãäœæããŸãããã
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 ã䜿çšããŸãã ããã±ãŒãž ãªã¹ããæŽæ°ããXNUMX ã€ã®ãµãŒããŒãã¹ãŠã«ã€ã³ã¹ããŒã«ããŸãã
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蚌ææžãšããŒãã¡ã€ã«ãžã®ãã¹
- ãããã·ãã£ãã·ã¥æå¹ - ãã£ãã·ã¥ãããããŒã¿ã®ä¿åæé
- ãããã·ãã¹ â CDN ããã£ãã·ã¥ãããã¡ã€ã«ãèŠæ±ããå ã®ãµãŒããŒã®ã¢ãã¬ã¹ã ãã®äŸã§ã¯ããã㯠èšã£ãã
ã芧ã®ãšããããã¹ãŠãã·ã³ãã«ã§ãã ãã£ã¬ã¯ãã£ãã®é¡äŒŒæ§ã«ããããã£ãã·ã¥æéã®èšå®ã§ã®ã¿å°é£ãçºçããå¯èœæ§ããããŸãã éã¢ã¯ãã£ã㪠О ãããã·ãã£ãã·ã¥æå¹ã äŸã䜿ã£ãŠåæããŠã¿ãŸãããã 次ã®ãããªå Žåã«äœãèµ·ãããŸãã éã¢ã¯ãã£ã=7æ¥ Ðž proxy_cache_valid 90d:
- ãªã¯ãšã¹ãã 7 æ¥ä»¥å ã«ç¹°ãè¿ãããªãå ŽåãããŒã¿ã¯ãã®æéåŸã«ãã£ãã·ã¥ããåé€ãããŸã
- ãªã¯ãšã¹ããå°ãªããšã 7 æ¥ã« 90 åç¹°ãè¿ãããå Žåããã£ãã·ã¥å ã®ããŒã¿ã¯ XNUMX æ¥åŸã«å€ããšã¿ãªãããNginx ã¯æ¬¡ã®ãªã¯ãšã¹ãã§å ã®ãµãŒããŒããããŒã¿ãååŸããŠæŽæ°ããŸãã
ç·šéãå®äºããŸãã nginx.confãèšå®ããªããŒãããŸãã
root@cdn:~# service nginx reload
CDN ã®æºåãæŽããŸããã æé¡ 15 ãã«ã§ãã 3 ã€ã®å€§éžã«ãã€ã³ã ãªã ãã¬ãŒã³ã¹ãããã1 TB ã®ãã©ãã£ã㯠(åå Žæ㧠XNUMX TB) ãåãåããŸããã
CDNã®åäœã確èªãã
ããŸããŸãªå°ççå Žæããã® CDN ãžã® ping ãèŠãŠã¿ãŸãããã ããã«ã¯ä»»æã® ping ãµãŒãã¹ãæ©èœããŸãã
çºå°ãã€ã³ã
ãã¹ã
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
çµæã¯è¯å¥œã§ãã 次ã«ããã¹ãç»åãã¡ã€ã³ãµã€ãã®ã«ãŒãã«é
眮ããŸãã ãã¹ã.jpg CDN çµç±ã§ããŠã³ããŒãé床ã確èªããŸãã ããèšãããŠããŸã -
CDN ãã€ã³ãã®ãã£ãã·ã¥ãã¯ãªã¢ããå Žåã«åããŠãå°ããªã¹ã¯ãªãããäœæããŠã¿ãŸãããã
ããŒãž.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 ãã§ãŒã«ãªãŒããŒãæ§æããããšããå§ãããŸããããã¯ããµãŒããŒã®æ éæã« A ã¬ã³ãŒããè¿ éã«å€æŽããã®ã«åœ¹ç«ã¡ãŸãã ããã¯ãã³ã³ãããŒã« ããã«ã®ãã¡ã€ã³ã® DNS ã¬ã³ãŒãã§è¡ãããŸãã
- å°ççã«åºãç¯å²ãã«ããŒãããµã€ãã«ã¯ééããªãå€æ°ã® CDN ãå¿ èŠã§ãããç±çããã®ã¯ãããŸãããã ãšãŒããããåç±³ (æ±éš)ãåç±³ (西éš)ãã·ã³ã¬ããŒã«ããªãŒã¹ãã©ãªã¢ãéŠæž¯ããŸãã¯æ¥æ¬ã® 6 ïœ 7 ãæã«ãµãŒããŒãé 眮ããå ŽåããŠãŒã¶ãŒã¯ææ CDN ãšæ¯ã¹ãŠå€§ããªéãã«æ°ä»ããªãå¯èœæ§ãé«ããªããŸãã
- å Žåã«ãã£ãŠã¯ããã¹ãã£ã³ã°äŒç€Ÿã CDN ç®çã§ã®ã¬ã³ã¿ã« ãµãŒããŒã®äœ¿çšãèš±å¯ããªãããšããããŸãã ãããã£ãŠãã³ã³ãã³ãé ä¿¡ãããã¯ãŒã¯ããµãŒãã¹ãšããŠçªç¶å±éããããšã«æ±ºããå Žåã¯ãäºåã«ç¹å®ã®ãã¹ãã£ã³ã° ãããã€ããŒã®ã«ãŒã«ãèªãããšãå¿ããªãã§ãã ããã
- å匷ãã
æ°Žäžéä¿¡ããã 倧éžãã©ã®ããã«æ¥ç¶ãããŠããããè¡šããã³ã³ãã³ãé ä¿¡ãããã¯ãŒã¯ãæ§ç¯ãããšãã«ãããèæ ®ããŸãã - 確èªããŠã¿ãŠãã ãã
ããŸããŸãªå Žæããã® ping ããªãã®ãµãŒããŒã«ã ããããããšã§ãCDN ãã€ã³ãã«æãè¿ããªãŒãžã§ã³ã確èªããGeoDNS ãããæ£ç¢ºã«æ§æã§ããŸãã - ã¿ã¹ã¯ã«ãã£ãŠã¯ãç¹å®ã®ãã£ãã·ã¥èŠä»¶ã«åãããŠããµãŒããŒã®è² è·ãèæ
®ã㊠Nginx ã埮調æŽãããšäŸ¿å©ã§ãã ãã®ç¹ã§ã¯ãNginx ãã£ãã·ã¥ã«é¢ããèšäºãéåžžã«åœ¹ã«ç«ã¡ãŸããã
ãã㧠éè² è·æã®äœæ¥ã®å é:ãã㧠Оããã§
åºæïŒ habr.com