Contentus traditio Networks (CDNs) in paginis et applicationibus adhibentur praesertim ad onera staticorum elementorum accelerandum. Hoc accidit ob documentorum institutionem in CDN servientibus in diversis regionibus geographicis collocatis. Per CDN data petens, user eam a servo proximo accipit.
Principium operationis et functionis omnium reticulorum contentorum, idem fere est. Accepta petitione ut fasciculum accipias, CDN server ab originali servo unum tempus accipit et usori dat, simulque eam ad certum tempus captans. Omnes petitiones subsequentes ex thesauro responderunt. Omnes CDNs optiones habent ad preload lima, purga latibulum, pone diem expirationis, et plura.
Accidit ut, una vel alia causa, opus tuum contentus traditionis retis instituas, ac deinde - instructiones ad proximum cursoriam conveniendum nobis adiuvent.

Source:
Cum opus tuum CDN
Considera casus ubi currit tuum CDN sensum:
- cum cupiditas pecuniae servandae est, et currit gratuita etiam cum insumptuosus CDNs utens plures centum pupa mensem
- si velimus ut cella permanens vel cella sine servo et canalis vicini
- CDN officia puncta praesentiae non habent in regione quae indigetis
- aliqua specialis contentus partus occasus requiratur
- volumus accelerare traditionem dynamici contenti, ponendo productionem servo propius ad utentes
- cura est ut tertia pars CDN ministerium illicite colligere vel uti informationes de usuario moribus (salve non-GDPR obsequiosa officia) vel in aliis illicitis actionibus
In aliis casibus, commodius est solutiones paratas exsistere.
Quid opus est ut satus?
Mirum est si ratio tua autonoma (AS). Cum eo, idem IP pluribus ministris assignare potes ad retis gradu, direct utentes ad proximam. Operae pretium est dicere etiam cum /24 inscriptionem electronicam retis, materiam contentam retis facere posse. Quidam provisores servitores permittunt te denuntiari pro usu in omnibus regionibus illis praesto esse.
Si dominus laetus non es truncum inscriptionum IP, tunc simplex CDN currere necesse erit:
- domain nomen vel subdomain
- saltem duo servientes in diversis regionibus. Servo vel dedicari potest vel virtuale
- instrumentum geoDNS. Cum eo, utentis, directo dominio, ad proximum servo dirigitur
Subcriptio domain et ut servers
Cum adnotatione dominico, omnia simplicia sunt - in qualibet zona subcriptio cum registro quovis. Subdomain etiam uti potes pro CDN, exempli gratia quid simile cdn.domainname.com. Profecto in exemplo nostro justum esse faciemus.
Servatores ordinandi locari debent in regionibus et regionibus ubi auditorium usoris tui est. Si negotium intercontinentale est, commodum est provisoribus obnoxium eligere qui servientes toto orbe simul offerunt. Exempla: , и — pro servientibus dicatis; и — pro nube virtuali*.
Pro privatis nostris CDN, 3 virtualis servientibus in diversis continentibus praecipiemus. At Vultr in calculonis servi for $5/mo nos erit 25GB SSD locis et * 1TB de negotiationis. cum insertis, novissimam debianum eligunt. Servientes nostri:
Frankfurt, ip: 199.247.18.199
Chicago, ip: 149.28.121.123
Сингапур, ip: 157.230.240.216
* Vultr et DigitalOcean fidem $100 promittunt usoribus qui per nexus in articulum subcriptio statim post modum solutionis addito. Auctor etiam parvam laudem suscipit ex hoc, quod nunc ipsum significatum est. Sis intellectus.
Profecti sunt geoDNS
Ut utentis ad optatum (propinquissimum) dirigatur cum accessu ditionis vel CDN subdomain, opus est servo DNS cum munere geoDNS.
Principium et operatio geoDNS talis est.
- Specificat IP clientis qui DNS petitionem misit, vel IP ipsius DNS servientis recursivi qui adhibetur in petitione clientis expediendi. Tales ministri recursivi solent esse DNS-s provisorum.
- IP clientis patriam vel regionem agnoscit. Ad hoc usus database GeoIP, cuius permulta hodie sunt. Sunt bona .
- Secundum locum clientis, ei dat IP oratio proximae CDN servo.
DNS server cum geoDNS munus esse potest , sed melius est solutionibus paratis uti cum retis DNS servientibus circa mundum et ex arca:
- ex $9.95/moGeoDNS omisso per defaltam additur DNS Failover
- ex $25/mo, DNS Failover para
- ex $35/mo pro rete 50M petitiones geo-. DNS Failover separatim est billed
- ex $125/mo, sunt 10 DNS Failovers
- "Geo Steering" pluma est available in inceptis consiliis
Cum geoDNS ordinans, numerum petitionum in omisso comprehensas observare debes et memento ut numerus petitionum in provincia ipsa pluries expectationes excedat. Ingentis araneae, scannarii, spammeri et alii spiritus maligni indefesse laborant.
Fere omnia officia DNS includunt necessarium ministerium ad aedificandum CDN - DNS Failover. Eius ope, vigilantia operandi servientium tuorum constituere potes et, signis vitae deficientibus, inscriptioni servientis non laborantis cum tergum in DNS responsionibus statim restituo.
Ad nostrum CDN aedificandum, utemur , omisso GeoDNS.
Novam DNS zonam addamus in ratione personali tuo, denotans dominium tuum. Si CDN in subdomain aedificamus et regio principalis iam est in usu, statim post zonam addita, noli oblivisci DNS monumenta exsistentia addere. Proximum est ut plures A-recordationes creare pro subdomain CDN domain /, quarum singulae applicabuntur ad regionem quam diximus. Continentias vel regiones ut regiones sub-regiones exprimere potes, USA et Canada praesto sunt.
In casu nostro, CDN in subdomain elevabitur cdn.sayt.in. Per addendo zonam sayt.inprimum A-recordum de subdomain crea et totam Americae septentrionalis Americae septentrionalis cultori in Chicago monstrare:

Repeamus actionem in alias regiones, recordantes unum ingressum creare pro defectu regionum. Hic est quod in fine accidit:

Novissimus ingressus in screenshot significat omnes regiones non specificatas (et hae sunt Europa, Africa, satellite interreti utentes, etc.) servo in Frankfurt mittentur.
Hoc DNS setup basicum perficit. Reliquum est ut registrarium paginae dominii adeas ac locum hodiernam NSs cum iis quae a ClouDNS editae sunt restituant. Et dum NSs renovabitur, ministris parabimus.
Installation of SSL libellorum
Nostrum CDN laborabit super HTTPS, si ergo iam habebis testimonium SSL pro ditione vel subdomain, eas mitte omnibus servientibus, exempli gratia, indicem. /etc/ssl/yourdomain/
Si testimoniales non sunt, liberum ab Encrypt. Perfect pro hoc . Cliens opportunus ac facilis est, ac potissimum, te permittit ut per DNS per ClouDNS API ditionem convalidandum.
Acme.sh instituemus unum tantum e servientibus - European 199.247.18.199, ex quo testimoniales omnibus aliis transcribendae erunt. Inaugurari, curre;
root@cdn:~# wget -O - https://get.acme.sh | bash; source ~/.bashrcPer scripturae institutionem, officium CRON creabitur ad ulteriorem libellorum renovationem sine nostra participatione.
Cum libellum edens, dominium a DNS utente API cohibebitur, ideo in tabula propria ClouDNS in tabula Reseller API, opus novum usorem API creare et tesseram ei impone. Proventus auth-id cum tessera in tabella scribetur ~/.acme.sh/dnsapi/dns_cloudns.sh (Non confundendae cum file dns_clouddns.sh). Hic sunt lineae quae rudi et edito opus sunt;
CLOUDNS_AUTH_ID=<auth-id>
CLOUDNS_AUTH_PASSWORD="<пароль>"
Nunc rogabimus SSL libellum for cdn.sayt.in
root@cdn:~# acme.sh --issue --dns dns_cloudns -d cdn.sayt.in --reloadcmd "service nginx reload"In optionibus, in futurum, mandatum specificavimus ut configurationem servo telam automatice reponat post singulas renovationes certificarii validitatis in futuro tempore.
Totum processum libellum obtinendi ad 2 minutas tollere potest, ne interrumpat. Si error fundi sanatio incidit, iterum mandatum experiri currens. In fine videbimus ubi fuerint testimoniales onerati;

Horum viae memores, specificari debebunt cum testimonium aliis ministris, tum in uncinis interretialibus elaborandis. Nos non attendunt errori reloading configs Nginx - non erit in servo plene conformatus cum testimoniales adaequationis.
Omnes nos SSL reliquimus ut testimonium receptum duobus aliis ministris exemplum praebendo iter ad tabulariorum. Eadem directoria in singulis illis faciamus et exemplum faciamus;
root@cdn:~# mkdir -p /root/.acme.sh/cdn.sayt.in/
root@cdn:~# scp -r root@199.247.18.199:/root/.acme.sh/cdn.sayt.in/* /root/.acme.sh/cdn.sayt.in/
Testimonia regulariter renovare, officium cottidianum CRON crea in utroque ministro cum mandato:
scp -r root@199.247.18.199:/root/.acme.sh/cdn.sayt.in/* /root/.acme.sh/cdn.sayt.in/ && service nginx reload
Hoc in casu, aditus ad fontem remotum configurari debet servo , i.e. sine tessera. Noli oblivisci facere.
Installing ac Vestibulum Nginx
Ad contentum staticum, uti Nginx figuratus est in servo procuratorio caching. Renova in sarcina indices et in omnibus tribus ministris install:
root@cdn:~# apt update
root@cdn:~# apt install nginxLoco defalta, config a praedo infra utimur;
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;
}
}
}Edere in aboutconfig;
- max_size - magnitudinem cache non excedens available spatium orbis
- ullo conatu sedentes - Repono tempus conditivorum notitia ut nemo accessed
- ssl_certificate и ssl_certificate_key - vias SSL certificatorium et clavem files
- proxy_cache_valid - tempus repono notitia conditivo
- proxy_pass - inscriptio servientis originalis e qua CDN lima pro caching postulabit. In exemplo nostro hoc sayt.in
Ut vides, omnia simplicia sunt. Difficultas non potest oriri nisi in collocatione temporis propter similitudinem praescriptionum ullo conatu sedentes и proxy_cache_valid. Eas cum nostro exemplo resolvemus. Hic est quod fit cum quieto = 7d * и proxy_cache_valid 90d:
- si intra 7 dies petitio non iteratur, notitia e cella delebitur post hoc tempus
- si semel saltem per dies 7 iteratur, notitia in cella obsoleta habebitur post 90 dies et Nginx illud renovabit proxima petitione, id ex servo originali.
Consummatum edendis nginx.confreload configurationem;
root@cdn:~# service nginx reloadNoster CDN paratus est. For $15/mo. puncta praesentiae recepimus in tribus continentibus et 3 TB negotiationis: 1 TB in unoquoque loco.
Reprehendo opus CDN
Inspiciamus pinges nostros CDN ex diversis locis orbis terrarum. Ulla ing operae erit hoc opus.
Lorem punctum
exercitum
IP
AVG vacat, Ms
Germania Berolinensis
cdn.sayt.in
199.247.18.199
9.6
Nederland, Amstelodami
cdn.sayt.in
199.247.18.199
10.1
Gallia Paris
cdn.sayt.in
199.247.18.199
16.3
Magna Britannia, 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, Novi Eboraci
cdn.sayt.in
149.28.121.123
19.8
Сингапур
cdn.sayt.in
157.230.240.216
1.7
Iaponia Tokyo
cdn.sayt.in
157.230.240.216
74.8
Australia, Sydney
cdn.sayt.in
157.230.240.216
95.9
Eventus boni sunt. Nunc imaginem testam ponemus in radice principalis situs test.jpg et deprime celeritatem download illius per CDN. Dicitur - . Contentus cito traditur.
Scripta parva scribamus in casu quo cache in puncto CDN purgare volumus.
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
Ad cache totam delere, modo curre, fasciculus separatus sic purgari potest:
root@cdn:~# ./purge.sh /test.jpgpro conclusiones
Denique utiles aliquas apices dare volo ut statim accedam super sarculum, qui caput meum laesit in tempore;
- Ad tolerantiam culpae augendam CDN commendatur configurare DNS Failover, quod adiuvat ut cito mutet recordum in eventu servientis naufragii. Hoc fit in monumentis DNS tabulae dicionis.
- Situs cum amplis coverage geographicis geographicis sine dubio magnum numerum CDNs requiret, sed non sit fanaticus. Verisimile user notam differentiam notabilem comparare ad mercedem CDN si servos in locis 6-7 pones: Europa, America Septentrionalis (orientalis), America Septentrionalis (occidens), Singapore, Australia, Hong Kong vel Iaponia
- Interdum hospites usum servientibus conductis ad CDN usum non permittunt. Si igitur subito volueris retiaculum traditionis contentum explicandi ut servitium, regulas cuiusdam provisoris obnoxii in antecessum legere noli oblivisci.
- Explore repraesentare quomodo continentes connexae sunt et hoc in ratione accipe cum aedificatione contenti retis traditionis
- Conare ut reprehendo servientibus tuis. Hoc modo regiones proximas CDN punctis videre potes et GeoDNS rectius configurare
- Secundum officia, utile erit ad cantum Nginx pro certis requisitis caching et oneris cultoris ratione habita. Articuli de Nginx cache multum me adiuverunt in hoc - et acceleratio operis sub oneribus; и
Source: www.habr.com
