This shows you the differences between two versions of the page.
saisp:labs:09:contents:06 [2014/04/28 15:58] razvan.deaconescu [06. Lorem ipsum] |
saisp:labs:09:contents:06 [2014/05/05 13:02] (current) razvan.deaconescu |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== 06. Servire de mai multe servere ==== | + | ==== 06. [15p] Servire de mai multe servere ==== |
- | Configurare Varnish să fie reverse proxy și pentru serverul web de pe mașina virtuală și pentru ''ocw.cs.pub.ro''. | + | Dorim ca serviciul Varnish să accelereze accesul web atât către serverul web din mașina virtuală ''web'' cât și către ''ocw.cs.pub.ro''. Pentru aceasta trebuie să fie configurate două back end-uri. |
+ | |||
+ | Configurați cele două back end-uri astfel încât dacă URL-ul începe cu ''/courses/'' să fie servit de back end-ul de ''ocw.cs.pub.ro'', altfel să fie servit de back end-ul mașinii virtuale ''web''. | ||
+ | |||
+ | <note tip> | ||
+ | Porniți de la [[https://www.varnish-cache.org/docs/3.0/tutorial/advanced_backend_servers.html|documentația Varnish]]. | ||
+ | </note> | ||
+ | |||
+ | <solution -hidden> | ||
+ | Configurăm serviciul Varnish pentru a folosi două back end-uri: back end-ul ''default'' servește conținut de pe serverul de pe mașina virtuală ''web'', iar back end-ul ''ocw'' servește conținut de pe sistemul ''ocw.cs.pub.ro''. Configurația o realizăm în fișierul ''/etc/varnish/default.vcl'':<code> | ||
+ | root@varnish:~# vi /etc/varnish/default.vcl | ||
+ | root@varnish:~# cat /etc/varnish/default.vcl | ||
+ | [...] | ||
+ | backend default { | ||
+ | .host = "192.168.0.2"; | ||
+ | .port = "80"; | ||
+ | } | ||
+ | backend ocw { | ||
+ | .host = "ocw.cs.pub.ro"; | ||
+ | .port = "80"; | ||
+ | } | ||
+ | [...] | ||
+ | </code> | ||
+ | Apoi configurăm în același fișier ca cererile care încep cu ''/courses/'' să fie servite de back end-ul ''ocw'' iar celelalte de back end-ul ''default'':<code> | ||
+ | root@varnish:~# cat /etc/varnish/default.vcl | ||
+ | [...] | ||
+ | sub vcl_recv { | ||
+ | if (req.url ~ "^/courses/") { | ||
+ | set req.backend = ocw; | ||
+ | } else { | ||
+ | set req.backend = default; | ||
+ | } | ||
+ | } | ||
+ | [...] | ||
+ | </code> | ||
+ | Pe stația gazdă (''mjolnir'') configurăm, din nou, adresa IP a mașinii virtuale ''varnish'' ca adresă pentru ''ocw.cs.pub.ro'':<code bash> | ||
+ | student@mjolnir:~$ sudo vi /etc/hosts | ||
+ | student@mjolnir:~$ cat /etc/hosts | ||
+ | [...] | ||
+ | 192.168.0.3 ocw.cs.pub.ro | ||
+ | [...] | ||
+ | </code> | ||
+ | Acum, din browserul de pe stația gazdă (''mjolnir'') putem să accesăm informații de pe ''ocw.cs.pub.ro'' (care conțin ''/courses/'') și de pe serverul web de pe mașina virtuală ''web'' folosind adresa ''192.168.0.3''. | ||
+ | </solution> |