Li-Content Delivery Networks (CDNs) li sebelisoa libakeng tsa marang-rang le lits'ebetsong haholo-holo ho potlakisa ho jara lintho tse sa fetoheng. Sena se etsahala ka lebaka la ho boloka lifaele ho li-server tsa CDN tse libakeng tse fapaneng tsa libaka. Ka ho kopa data ka CDN, mosebelisi o e fumana ho tsoa ho seva se haufi.
Molao-motheo oa ts'ebetso le ts'ebetso ea marang-rang ohle a ho fana ka litaba o batla o tšoana. Ha e se e fumane kopo ea ho khoasolla faele, seva ea CDN e e nka nako e le 'ngoe ho tloha ho seva sa pele ebe e e fa mosebedisi, ka nako e ts'oanang e e boloka ka nako e itseng. Likopo tsohle tse latelang li arajoa ho tsoa ho cache. Li-CDN tsohle li na le likhetho tsa ho kenya lifaele esale pele, ho hlakola cache, ho beha letsatsi la ho felloa ke nako, le tse ling.
Hoa etsahala hore, ka lebaka le leng, o hloka ho hlophisa marang-rang a hau a ho fana ka litaba, ebe - tlohela litaelo tsa ho bokella baesekele e latelang e be thuso ho rona.
Nahana ka maemo ao ho tsamaisa CDN ea hau ho utloahalang:
ha ho na le takatso ea ho boloka chelete, le ho tsamaisa litšenyehelo esita le ha u sebelisa li-CDN tse theko e tlaase joaloka BunnyCDN chelete e fihla ho lidolara tse makholo a 'maloa ka khoeli
haeba re batla ho fumana cache e sa feleng kapa cache ntle le seva le baahelani ba mocha
Litšebeletso tsa CDN ha li na lintlha tsa ho ba teng sebakeng seo u se hlokang
ho hlokahala litlhophiso life kapa life tse khethehileng tsa ho fana ka litaba
re batla ho potlakisa ho fana ka litaba tse matla ka ho beha seva sa tlhahiso haufi le basebelisi
ho na le ngongoreho ea hore tšebeletso ea motho oa boraro ea CDN e ka bokella kapa ea sebelisa tlhahisoleseling mabapi le boitšoaro ba mosebelisi (hello litšebeletso tse sa lumellaneng le GDPR) kapa ea etsa mesebetsi e meng e seng molaong.
Maemong a mang a mangata, ho loketse ho sebelisa litharollo tse seng li ntse li entsoe.
Seo u se hlokang ho qala
Hoa babatseha haeba u na le Autonomous System ea hau (AS). Ka eona, o ka abela IP e tšoanang ho li-server tse 'maloa le ho latela taelo ena boemong ba marang-rang, lebisa basebelisi ho e haufi. Ke habohlokoa ho bolela hore esita le ka block ea aterese ea / 24, hoa khoneha ho haha marang-rang a ho fana ka litaba. Bafani ba bang ba li-server ba u lumella ho etsa tsebiso bakeng sa tšebeliso libakeng tsohle tse fumanehang ho bona.
Haeba ha u mong'a ea thabileng oa liaterese tsa IP, joale ho tsamaisa CDN e bonolo u tla e hloka:
domain name kapa subdomain
bonyane li-server tse peli libakeng tse fapaneng. Seva e ka ba e inehetseng kapa ea sebele
sesebelisoa sa geoDNS. Ka eona, mosebelisi, ha a se a buile le sebaka sa marang-rang, o tla lebisoa ho seva se haufi
Ngolisa sebaka sa marang-rang ebe u odara li-server
Ka ho ngolisoa ha domain, ntho e 'ngoe le e' ngoe e bonolo - re ngolisa sebakeng leha e le sefe le mongoli ofe kapa ofe. U ka boela ua sebelisa subdomain bakeng sa CDN, mohlala ntho e kang cdn.domainname.com. Ha e le hantle, mohlaleng oa rona, re tla etsa joalo.
Ha e le li-server tsa ho laela, li lokela ho hiroa libakeng le linaheng tseo bamameli ba hau ba leng ho tsona. Haeba morero o le intercontinental, joale ho loketse ho khetha bafani ba amohelang baeti ba fanang ka li-server ho pota lefatše hang-hang. Mehlala: OVH, khiriso web и 100TB - bakeng sa li-server tse inehetseng, Vultr и DigitalOcean - bakeng sa leru la sebele*.
Bakeng sa CDN ea rona ea poraefete, re tla odara li-server tse 3 tse fumanehang lik'honthinenteng tse fapaneng. Ho Vultr ho seva bakeng sa $5/kh re tla fumana 25GB SSD libaka le 1TB ea sephethephethe. Ha o kenya, khetha Debian ea morao-rao. Li-server tsa rona:
FrankfurtIP: 199.247.18.199
ChicagoIP: 149.28.121.123
СингапурIP: 157.230.240.216
* Vultr le DigitalOcean li ts'episa mokoloto oa $ 100 ho basebelisi ba ingolisang ka lihokela tsa sengoloa hang kamora ho kenyelletsa mokhoa oa ho patala. Mongoli le eena o fumana thoriso e nyenyane ho sena, e leng ea bohlokoa haholo ho eena hona joale. Ke kopa o utloisise.
Ho theha geoDNS
E le hore mosebedisi a lebisetsoe ho seva se lakatsehang (haufi) ha a fumana sebaka sa marang-rang kapa CDN subdomain, re hloka seva sa DNS se nang le mosebetsi oa geoDNS.
Molao-motheo le ts'ebetso ea geoDNS ke tse latelang:
E totobatsa IP ea moreki ea rometseng kopo ea DNS, kapa IP ea seva sa DNS e sebelisoang ha ho sebetsoa kopo ea moreki. Li-server tse joalo tse iphetang hangata ke li-DNS-s tsa bafani.
IP ea moreki e tseba naha kapa sebaka sa habo. Bakeng sa sena, ho sebelisoa li-database tsa GeoIP, tseo ho tsona ho nang le tse ngata haholo kajeno. Ho na le tse ntle likhetho tsa mahala.
Ho itšetlehile ka sebaka sa mofani, o mo fa aterese ea IP ea seva se haufi sa CDN.
Seva ea DNS e nang le ts'ebetso ea geoDNS e ka ba bokana u le mong, empa ho molemo ho sebelisa litharollo tse lokiselitsoeng ka marang-rang a li-server tsa DNS ho pota lefatše le Leha e le efe ho tloha lebokoseng:
CloudDNS от $9.95/kh, Tefiso ea GeoDNS, ka ho sa feleng ho na le DNS Failover e le 'ngoe
Cloudflare, "Geo Steering" e fumaneha ho merero ea Khoebo
Ha o laela geoDNS, o lokela ho ela hloko palo ea likopo tse kenyellelitsoeng ho tefiso 'me u hopole hore palo ea sebele ea likopo ho domain e ka feta litebello ka makhetlo a' maloa. Limilione tsa likho, li-scanner, li-spammer le meea e meng e khopo li sebetsa ka thata.
Hoo e ka bang lits'ebeletso tsohle tsa DNS li kenyelletsa ts'ebeletso ea bohlokoahali bakeng sa ho aha CDN - DNS Failover. Ka thuso ea eona, o ka theha leihlo la ts'ebetso ea li-server tsa hau, 'me, ha ho se na matšoao a bophelo, o ka nkela aterese ea seva e sa sebetseng sebaka ka mokhoa o bolokang likarabo tsa DNS.
Ho aha CDN ea rona, re tla e sebelisa CloudDNS, Tefiso ea GeoDNS.
Ha re kenyeng sebaka se secha sa DNS akhaonteng ea hau, re hlakisa sebaka sa hau sa marang-rang. Haeba re ntse re haha CDN ho subdomain, 'me sebaka se seholo se se se ntse se sebelisoa, joale hang ka mor'a ho eketsa sebaka seo, u se ke ua lebala ho eketsa lirekoto tsa DNS tse teng tse sebetsang. Mohato o latelang ke ho theha lirekoto tse 'maloa tsa A bakeng sa sebaka sa CDN / subdomain, e' ngoe le e 'ngoe e tla sebelisoa sebakeng seo re se boletseng. O ka hlakisa lik'honthinente kapa linaha joalo ka libaka, libaka tse nyane li fumaneha bakeng sa USA le Canada.
Tabeng ea rona, CDN e tla phahamisoa ho subdomain cdn.sayt.in. Ka ho eketsa sebaka sat.in, theha rekoto ea pele ea A bakeng sa subdomain 'me u supe Amerika Leboea ho seva e Chicago:
Ha re phete ketso bakeng sa libaka tse ling, re hopola ho theha keno e le 'ngoe bakeng sa libaka tsa kamehla. Mona ke se etsahalang qetellong:
Keno ea ho qetela skrineng e bolela hore libaka tsohle tse sa hlalosoang ('me tsena ke Europe, Afrika, basebelisi ba Marang-rang ba sathelaete, joalo-joalo) li tla romelloa ho seva e Frankfurt.
Sena se phethela ho seta ha DNS ea mantlha. E sala e le ho ea sebakeng sa marang-rang sa "domain registrar" le ho khutlisa li-NS tsa hajoale ka tse fanoeng ke CloudDNS. 'Me ha li-NS li tla nchafatsoa, re tla lokisa li-server.
Ho kenya litifikeiti tsa SSL
CDN ea rona e tla sebetsa holim'a HTTPS, kahoo haeba u se u ntse u e-na le litifikeiti tsa SSL bakeng sa domain kapa subdomain, li kenye ho li-server tsohle, mohlala, ho directory. /etc/ssl/yourdomain/
Haeba ho se na litifikeiti, u ka fumana ea mahala ho Let's Encrypt. E phethahetseng bakeng sa sena ACME Shellscript. Moreki o bonolo ebile o bonolo ho theha, mme ho bohlokoa ka ho fetisisa, e o lumella ho netefatsa domain/subdomain ka DNS ka CloudDNS API.
Re tla kenya acme.sh ho seva se le seng feela - European 199.247.18.199, moo litifikeiti li tla kopitsoa ho tse ling kaofela. Ho kenya, tsamaisa:
Nakong ea ho kenya script, ho tla etsoa mosebetsi oa CRON bakeng sa ho nchafatsa litifikeiti ntle le ho kenya letsoho ha rona.
Ha o fana ka setifikeiti, sebaka sa marang-rang se tla hlahlojoa ho sebelisoa DNS ho sebelisa API, kahoo ho akhaonto ea hau ea CloudDNS ho menu ea Reseller API, u lokela ho theha mochine o mocha oa API le ho e beha phasewete bakeng sa eona. Sephetho sa auth-id e nang le password e tla ngoloa faeleng ~/.acme.sh/dnsapi/dns_cloudns.sh (ha ea lokela ho ferekanngoa le file dns_clouddns.sh). Mona ke mela e hlokang ho hlakoloa le ho hlophisoa:
Likhethong, nakong e tlang, re fane ka taelo ea ho kenya ts'ebetso ea seva sa webo ka bo eona ka mor'a nchafatso e ngoe le e ngoe ea nako ea ho netefatsa setifikeiti nakong e tlang.
Ts'ebetso eohle ea ho fumana setifikeiti e ka nka metsotso e 2, u se ke ua e sitisa. Haeba phoso ea netefatso ea domain e etsahala, leka ho tsamaisa taelo hape. Qetellong re tla bona moo litifikeiti li kentsoeng teng:
Hopola litsela tsena, li tla hloka ho hlalosoa ha u kopitsa setifikeiti ho li-server tse ling, hammoho le ho litlhophiso tsa seva sa marang-rang. Ha re ele hloko phoso ea ho kenya li-configs tsa Nginx hape - e ke ke ea ba ho seva e hlophisitsoeng ka botlalo ha u nchafatsa litifikeiti.
Sohle seo re se siileng bakeng sa SSL ke ho kopitsa setifikeiti se amoheloang ho li-server tse ling tse peli ha re ntse re boloka tsela ea lifaele. Ha re theheng li-directory tse tšoanang ho e 'ngoe le e' ngoe ea tsona ebe re etsa kopi:
Ho ntlafatsa setifikeiti khafetsa, theha mosebetsi oa letsatsi le letsatsi oa CRON ho li-server ka bobeli ka taelo:
scp -r [email protected]:/root/.acme.sh/cdn.sayt.in/* /root/.acme.sh/cdn.sayt.in/ && service nginx reload
Tabeng ena, ho fihlella ho seva sa mohloli o hole ho tlameha ho lokisoa ka senotlolo, ke. ntle le ho kenya phasewete. Se lebale ho e etsa.
Ho kenya le ho lokisa Nginx
Ho sebeletsa litaba tse tsitsitseng, re tla sebelisa Nginx e hlophisitsoeng e le seva sa proxy ea caching. Ntlafatsa lethathamo la liphutheloana ebe u li kenya ho li-server tse tharo:
boholo_bo boholo - boholo ba cache, e sa feteng sebaka sa disk se fumanehang
ha e sebetse - nako ea polokelo ea data e bolokiloeng eo ho seng motho ea e fihletseng
ssl_certificate и ssl_certificate_key - litsela tsa setifikeiti sa SSL le lifaele tsa bohlokoa
proxy_cache_valid - nako ea ho boloka data e bolokiloeng
proxy_pass — aterese ea seva sa mantlha moo CDN e tla kopa lifaele bakeng sa caching. Mohlala oa rona, sena sat.in
Joalokaha u ka bona, ntho e 'ngoe le e' ngoe e bonolo. Bothata bo ka hlaha feela ho beha nako ea caching ka lebaka la ho tšoana ha litaelo ha e sebetse и proxy_cache_valid. A re li hlahlobeng ka mohlala oa rōna. Ke sena se etsahalang ha e sa sebetse=7d и proxy_cache_valid 90d:
haeba kopo e sa phetoa nakong ea matsatsi a 7, joale data e tla hlakoloa ho cache ka mor'a nako ena
haeba kopo e phetoa bonyane hanngoe ka matsatsi a 7, joale data e ka har'a cache e tla nkoa e sa sebetse ka mor'a matsatsi a 90 'me Nginx e tla e ntlafatsa ka kopo e latelang, e e nke ho tswa ho seva sa pele.
E qetile ho fetola nginx.conf, kenya tlhophiso hape:
root@cdn:~# service nginx reload
CDN ea rona e lokile. Ka $15/kh. re fumane lintlha tsa ho ba teng lik'honthinenteng tse tharo le 3 TB ea sephethephethe: 1 TB sebakeng se seng le se seng.
Ho hlahloba mosebetsi oa CDN
Ha re shebeng li-pings ho CDN ea rona ho tsoa libakeng tse fapaneng tsa libaka. Tšebeletso efe kapa efe ea ping e tla sebetsa bakeng sa sena.
Sebaka sa ho qala
Moamoheli
IP
Kakaretso ea nako, mof
Great Britain, London
cdn.sayt.in
199.247.18.199
14.9
Canada, Toronto
cdn.sayt.in
149.28.121.123
16.2
USA, San Francisco
cdn.sayt.in
149.28.121.123
52.7
USA, Dallas
cdn.sayt.in
149.28.121.123
23.1
USA, Chicago
cdn.sayt.in
149.28.121.123
2.6
USA, New York
cdn.sayt.in
149.28.121.123
19.8
Сингапур
cdn.sayt.in
157.230.240.216
1.7
Japane Tokyo
cdn.sayt.in
157.230.240.216
74.8
Australia, Sydney
cdn.sayt.in
157.230.240.216
95.9
Litholoana li ntle. Hona joale re tla beha setšoantšo sa teko motso oa sebaka se seholo teko.jpg 'me u hlahlobe lebelo la eona la ho jarolla ka CDN. Ho thoe - entsoe. Litaba li fanoa kapele.
Ha re ngoleng mongolo o monyane haeba re batla ho hlakola cache sebakeng sa CDN. hloekisa.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
Ho hlakola cache kaofela, e tsamaise feela, faele e arohaneng e ka hloekisoa ka tsela ena:
root@cdn:~# ./purge.sh /test.jpg
Sebakeng sa liqeto
Qetellong, ke batla ho fana ka malebela a bohlokoa e le hore ke fete hang-hang se ileng sa utloisa hlooho ea ka bohloko ka nako eo:
Ho eketsa mamello ea phoso ea CDN, ho kgothaletswa ho lokisa DNS Failover, e thusang ho fetola ka potlako rekoto ea A ha ho ka ba le ho senyeha ha seva. Sena se etsoa ka har'a lirekoto tsa DNS tsa sebaka sa taolo.
Liwebsaete tse nang le libaka tse pharalletseng ha ho pelaelo hore li hloka palo e kholo ea li-CDN, empa re se ke ra cheseha ka ho feteletseng. Mohlomong mosebelisi a ke ke a bona phapang e kholo ha e bapisoa le CDN e lefuoang haeba u beha li-server libakeng tsa 6-7: Europe, Amerika Leboea (bochabela), Amerika Leboea (bophirima), Singapore, Australia, Hong Kong kapa Japane.
Ka linako tse ling ba amohelang baeti ha ba lumelle tšebeliso ea li-server tse hiriloeng molemong oa CDN. Ka hona, haeba ka tšohanyetso u etsa qeto ea ho tsamaisa marang-rang a ho fana ka litaba e le tšebeletso, u se ke ua lebala ho bala melao ea mofani ea itseng ea amohelang baeti esale pele.
Hlahloba 'mapa oa puisano ka tlas'a metsiho emela hore na lik'honthinente li hokahane joang le ho ela sena hloko ha u haha marang-rang a ho fana ka litaba
Leka ho hlahloba pings ho tsoa libakeng tse fapaneng ho li-server tsa hau. Ka tsela ena o ka bona libaka tse haufi haholo le lintlha tsa CDN mme o hlophisa GeoDNS ka nepo
Ho itšetlehile ka mesebetsi, ho tla ba molemo ho lokisa Nginx bakeng sa litlhoko tse khethehileng tsa caching le ho ela hloko mojaro o ho seva. Lingoliloeng tse mabapi le cache ea Nginx li nthusitse haholo ho sena - mona le ho potlakisa mosebetsi tlas'a meroalo e boima: mona и mona