HTTP vahendaja ja koormusjaotur Pound: erinevus redaktsioonide vahel

Allikas: Kuutõrvaja
Mine navigeerimisribaleMine otsikasti
Imre (arutelu | kaastöö)
Uus lehekülg: ===Sissejuhatus=== Tarkvara Pound on HTTP vahendaja (ingl. k. reverse proxy), mis asub veebiserveri ees ja mille pöördu pöördub reeglina kasutaja oma brauseriga. Samuti võimalda...
 
Jj (arutelu | kaastöö)
 
(ei näidata 2 kasutaja 32 vahepealset redaktsiooni)
1. rida: 1. rida:
===Sissejuhatus===
===Sissejuhatus===


Tarkvara Pound on HTTP vahendaja (ingl. k. reverse proxy), mis asub veebiserveri ees ja mille pöördu pöördub reeglina kasutaja oma brauseriga. Samuti võimaldab Pound korraldada koormusjaotust mitmete tema taga asuvate veebiserverite vahel.
Tarkvara Pound http://www.apsis.ch/pound/ võimaldab korraldada järgmisi tegevusi veebiserverite ees


Kasutusskeem võiks näha välja selline
* HTTP vahendamine (ingl. k. reverse proxy)
* koormusjaotus (ingl. k. load balancing)
* tarkvaraline SSL-kiirendi (ingl. k. SSL offload)
* Pound ei vahelaosta (ingl. k. caching) andmeid
 
Kasutusskeem võiks näiteks näha välja selline




             avalik võrk
             avalik võrk
 
 
                   |
                   |
                 __|__
                 __|__
18. rida: 23. rida:
                             |
                             |
                           __|__
                           __|__
                           |    |  Pound
                           |    |  Pound (10.0.0.3)
                           |_____|
                           |_____|
                             |
                             |
27. rida: 32. rida:
               |    | http server 1    |    | http server 2
               |    | http server 1    |    | http server 2
               |_____|                  |_____|
               |_____|                  |_____|
            (10.0.0.11)                (10.0.0.12)


Sõltuvalt vajadusest võib korraldada ka nii, et veebiserverite ees töötab iga ühe külge fikseeritud Pound ning Poundide vahel korraldab koormusjaotust tulemüür.
Sõltuvalt vajadusest võib korraldada ka nii, et veebiserverite ees töötab iga ühe külge fikseeritud Pound ning Poundide vahel korraldab koormusjaotust tulemüür.


===
===Paigaldamine===
 
Pound peaks leiduma enamuse levinumae operatsioonis pakihalduses
 
Näiteks selle paigaldamiseks Debianis tuleb öelda
 
  # apt-get install pound
 
FeeBSD's leiab tarkvara portsude kaustast www/pound alt.
 
Seadistusfail on /etc/pound/pound.cfg ning käivitamine ja seiskamine toimub tavapäraselt skriptiga
 
  # /etc/init.d/pound stop|start
 
===HTTP vahendamine===
 
HTTP vahendamise korraldab näiteks selline seadistusfail
 
  User            "www-data"
  Group          "www-data"
  LogLevel        4
  Alive          5
  Daemon 1
 
  ListenHTTP
    Address 10.0.6.12
    Port    80
 
    Service
      URL "/mujale"
      Redirect "http://mujale.loomaaed.tartu.ee/"
    End
 
    Service
      BackEnd
        Address 10.0.1.14
        Port    8880
        TimeOut 1200
      End
    End
  End
 
Pound käivitamiseks tuleb öelda
 
  # /etc/init.d/pound start
 
Käivitamise tulemusena hakkab Pound kuulama päringuid soketil 10.0.6.12:80 ning ise pöörduma pärigutele vastuste saamiseks soketi 10.0.1.14:8880 poole.
 
Vaikimisi salvestatakse logi /var/log/syslog faili.
 
Oluline on tähele panna, et esitatud konfiguratsioonis Pound ei pööra päringute edastamisel tähelepanu päringus sisalduvale domeeninimele.
 
===Tarkvaraline SSL-kiirendi===
 
SSL-kiirendamise korraldab selline seadistusfaili sektsioon
 
  ListenHTTPS
    Address 10.0.6.12
    Port    443
    Cert    "/etc/pound/www.loomaaed.tartu.ee.pem"
    Ciphers "HIGH:MEDIUM:!ADH:!SSLv2"
    Service
      BackEnd
        Address 10.0.1.14
        Port    8889
        TimeOut 1200
      End
    End
  End
 
kus
 
* failis /etc/pound/www.loomaaed.tartu.ee.pem esinevad andmed sellises järjekorras
 
  Veebiserveri sertifikaadi salajane võti
  Veebiserveri sertifikaat
  Kõrgema taseme sertifikaat, mille suhtes veebiserveri sertifikaat on väljastatud
  ..
  CA juursertifikaat
 
* Ciphers määrab milliseid šiffreid ja protokolle kasutatakse, vaikimisi on ka 40bitised šiffrid lubatud
 
HTTP vahendamise ja SSL-kiirendamise sektsioonid võivad esineda samas seadistusfailis koos.
 
===Veateated===
 
Pound võimaldab kostümiseerida standarseid veateateid, nt
 
* Err503 - direktiivi kasutamisel ListenHTTP sektsioonis esitatakse faili /srv/www/err-503.html sisu
 
Err503 "/srv/www/err-503.html"
 
===Päiste järgi edasisuunamine===
 
Päise järgi klapitades saab suunata brauserit Location direktiiviga edasi teisele aadressile
 
  Service
    HeadRequire "Host:.*sedapole.loomaaed.tartu.ee.*"
    Redirect "https://www.loomaaed.tartu.ee/"
  End
 
===Koormusjaotus===
 
User            "nobody"
Group          "nobody"
 
LogLevel        1
Alive          2
 
ListenHTTP
        Address 10.40.0.3
        Port    80
End
 
Service
        HeadRequire "Host: .*zoo.tartu.ee.*"
 
        BackEnd
                Address 10.0.0.11
                Port    80
  TimeOut 300
        End
 
        BackEnd
                Address 10.0.0.12
                Port 80
  TimeOut 300
        End
 
        Session
                Type Cookie
                ID  "JSESSIONID"
                TTL  300
        End
End
 
===Märkused===
 
* 2009 aasta Pound versiooni abil ei ole võimalik nõuda üksiku URI puhul kliendisertifikaati ning muude jaoks mitte, saab nõuda kas kogu veebikoha kohta või siis üldse mitte kliendisertifikaadikontrolli kasutada
* 2009 aasta Pound versiooni abil ei saa kasutada AddHeader direktiivi Service sektsiooni see, ainult Listener'is
* Debian Lenny kasutamisel tuleb arvestada, et maksimaalse query string suuruse piiranguks on 1024 baiti, selle muutmiseks sobib nt kompileerida src pound paketist tarkvara kasutades seejuures pound-2.4.3/debian/rules failis real
 
env LDFLAGS="$(LDFLAGS)" CFLAGS="$(CFLAGS)" ./configure ...
 
lisaks parameetrit '--with-maxbuf=4096'. Uueks query string piiranguks on siis 4kB.
 
===Kasulikud lisamaterjalid===
 
* [[:Squid]]
* [[:Apache'i veebiserver]]
 
===Lingid===
 
http://www.dotdeb.org/2008/08/25/storing-your-php-sessions-using-memcached/ php sessioonide salvestamine proxymise jaoks, et need ei läheks katki serveri muutumisel.

Viimane redaktsioon: 8. august 2012, kell 13:19

Sissejuhatus

Tarkvara Pound http://www.apsis.ch/pound/ võimaldab korraldada järgmisi tegevusi veebiserverite ees

  • HTTP vahendamine (ingl. k. reverse proxy)
  • koormusjaotus (ingl. k. load balancing)
  • tarkvaraline SSL-kiirendi (ingl. k. SSL offload)
  • Pound ei vahelaosta (ingl. k. caching) andmeid

Kasutusskeem võiks näiteks näha välja selline


           avalik võrk
 
                 |
               __|__
              |     |  tulemüür
              |_____|
                 |
                 |
                 |
        ---------|----------|------------
                            |
                          __|__
                         |     |  Pound (10.0.0.3)
                         |_____|
                            |
                            |
            ----|-----------|-------------|------------------|-----
                |                         |                 ...
              __|__                     __|__
             |     | http server 1     |     | http server 2
             |_____|                   |_____|
           (10.0.0.11)                (10.0.0.12)

Sõltuvalt vajadusest võib korraldada ka nii, et veebiserverite ees töötab iga ühe külge fikseeritud Pound ning Poundide vahel korraldab koormusjaotust tulemüür.

Paigaldamine

Pound peaks leiduma enamuse levinumae operatsioonis pakihalduses

Näiteks selle paigaldamiseks Debianis tuleb öelda

 # apt-get install pound

FeeBSD's leiab tarkvara portsude kaustast www/pound alt.

Seadistusfail on /etc/pound/pound.cfg ning käivitamine ja seiskamine toimub tavapäraselt skriptiga

 # /etc/init.d/pound stop|start

HTTP vahendamine

HTTP vahendamise korraldab näiteks selline seadistusfail

 User            "www-data"
 Group           "www-data"
 LogLevel        4
 Alive           5
 Daemon 1
 
 ListenHTTP
   Address 10.0.6.12
   Port    80
  
   Service
     URL "/mujale"
     Redirect "http://mujale.loomaaed.tartu.ee/"
   End
 
   Service
     BackEnd
       Address 10.0.1.14
       Port    8880
       TimeOut 1200
     End
   End
 End

Pound käivitamiseks tuleb öelda

 # /etc/init.d/pound start

Käivitamise tulemusena hakkab Pound kuulama päringuid soketil 10.0.6.12:80 ning ise pöörduma pärigutele vastuste saamiseks soketi 10.0.1.14:8880 poole.

Vaikimisi salvestatakse logi /var/log/syslog faili.

Oluline on tähele panna, et esitatud konfiguratsioonis Pound ei pööra päringute edastamisel tähelepanu päringus sisalduvale domeeninimele.

Tarkvaraline SSL-kiirendi

SSL-kiirendamise korraldab selline seadistusfaili sektsioon

 ListenHTTPS
   Address 10.0.6.12
   Port    443
   Cert    "/etc/pound/www.loomaaed.tartu.ee.pem"
   Ciphers "HIGH:MEDIUM:!ADH:!SSLv2"

   Service
     BackEnd
       Address 10.0.1.14
       Port    8889
       TimeOut 1200
     End
   End
 End

kus

  • failis /etc/pound/www.loomaaed.tartu.ee.pem esinevad andmed sellises järjekorras
 Veebiserveri sertifikaadi salajane võti
 Veebiserveri sertifikaat
 Kõrgema taseme sertifikaat, mille suhtes veebiserveri sertifikaat on väljastatud
 ..
 CA juursertifikaat
  • Ciphers määrab milliseid šiffreid ja protokolle kasutatakse, vaikimisi on ka 40bitised šiffrid lubatud

HTTP vahendamise ja SSL-kiirendamise sektsioonid võivad esineda samas seadistusfailis koos.

Veateated

Pound võimaldab kostümiseerida standarseid veateateid, nt

  • Err503 - direktiivi kasutamisel ListenHTTP sektsioonis esitatakse faili /srv/www/err-503.html sisu
Err503 "/srv/www/err-503.html"

Päiste järgi edasisuunamine

Päise järgi klapitades saab suunata brauserit Location direktiiviga edasi teisele aadressile

 Service
   HeadRequire "Host:.*sedapole.loomaaed.tartu.ee.*"
   Redirect "https://www.loomaaed.tartu.ee/"
 End

Koormusjaotus

User            "nobody"
Group           "nobody"
 
LogLevel        1
Alive           2
 
ListenHTTP
        Address 10.40.0.3
        Port    80
End
 
Service
        HeadRequire "Host: .*zoo.tartu.ee.*"
 
        BackEnd
                Address 10.0.0.11
                Port    80
  		 TimeOut 300
        End
 
        BackEnd
                Address 10.0.0.12
                Port 80
 		 TimeOut 300
        End
 
        Session
                Type Cookie
                ID   "JSESSIONID"
                TTL  300
        End
End

Märkused

  • 2009 aasta Pound versiooni abil ei ole võimalik nõuda üksiku URI puhul kliendisertifikaati ning muude jaoks mitte, saab nõuda kas kogu veebikoha kohta või siis üldse mitte kliendisertifikaadikontrolli kasutada
  • 2009 aasta Pound versiooni abil ei saa kasutada AddHeader direktiivi Service sektsiooni see, ainult Listener'is
  • Debian Lenny kasutamisel tuleb arvestada, et maksimaalse query string suuruse piiranguks on 1024 baiti, selle muutmiseks sobib nt kompileerida src pound paketist tarkvara kasutades seejuures pound-2.4.3/debian/rules failis real
env LDFLAGS="$(LDFLAGS)" CFLAGS="$(CFLAGS)" ./configure ...

lisaks parameetrit '--with-maxbuf=4096'. Uueks query string piiranguks on siis 4kB.

Kasulikud lisamaterjalid

Lingid

http://www.dotdeb.org/2008/08/25/storing-your-php-sessions-using-memcached/ php sessioonide salvestamine proxymise jaoks, et need ei läheks katki serveri muutumisel.