varnish reverse proxy met https backends

Pagina: 1
Acties:

  • analog_
  • Registratie: Januari 2004
  • Niet online
Ik heb de volgende setup momenteel de router forward wan:tcp/80 naar de interne reverse proxy server. Dit is een debian lenny met varnish er op en is momenteel zo geconfigureerd:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
sub vcl_recv {
    if (req.http.host ~ "^oscillator.mine.nu(:[0-9]+)?$") { 
            set req.backend = oscillator;
        } elsif (req.http.host ~ "^analog.ath.cx(:[0-9]+)?$") {
            set req.backend = default;
    } elsif (req.http.host ~ "^antw-kot.ath.cx(:[0-9]+)?$") {
        if (req.url ~"^/ap") {
            set req.backend = ap;
            set req.url = regsub(req.url, "^/ap", "/"); 
        } elsif (req.url ~ "^/torrents") {
            set req.backend = torrents;
            set req.url = regsub(req.url, "^/torrents", "/gui/"); 
        } else {
            set req.backend = default;
        }
    } else {
        set req.backend = default;
    }

    if (req.request != "GET" && req.request != "HEAD") {
        pipe;
    }
    if (req.http.Expect) {
        pipe;
    }
    if (req.http.Authenticate || req.http.Cookie) {
        pass;
    }

    pass;
}

Zoals je ziet wordt er afhankelijk van het gevraagde domein (en/of map) een bepaalde backend gekozen. Het probleem is dat varnish geen https backends ondersteunt net zoals pound. Ik heb echter ook een aantal webservers die SSL gebruiken. Is er een bepaalde methode om met bijvoorbeeld stunnel of iets dergelijks toch een https backend te gebruiken ?

Want ik was aan het denken op de router poort 443/tcp te forwarden naar reverse proxy op poort 6083/tcp en vervolgens hiervoor een pound te zetten die alles doorstuurt naar varnish. Als ik het missende stukje heb kan je een mix&match doen met ssl tussen de reverse proxy en clients maar ook de rproxy en servers.

edit: Ik kan natuurlijk andere poorten op de router forwarden echter wens ik het allemaal op 443 te draaien en de reverse proxy gebruiken voor centraal beheer ervan.

[ Voor 4% gewijzigd door analog_ op 11-02-2010 17:17 ]


  • CyBeR
  • Registratie: September 2001
  • Niet online
Gebruik nginx voor https?

All my posts are provided as-is. They come with NO WARRANTY at all.


  • analog_
  • Registratie: Januari 2004
  • Niet online
Ik krijg niet de indruk dat nginx een https backend kan gebruiken aangezien ze hierover niks vermelden bij hun ProxyPass directive. (voorbeeld config). Eigenlijk zoek ik een tcp loadbalancer die beslissingen kan maken op basis van http headers.

[ Voor 14% gewijzigd door analog_ op 11-02-2010 17:36 ]


  • CyBeR
  • Registratie: September 2001
  • Niet online
Hm, nou ik er verder over nadenk heb je daar mischien gelijk in. Maar https backends worden dan ook nooit gebruikt. De 'normale' situatie is dat je frontend (nginx bijvoorbeeld, hoewel pound 't volgens mij ook kan) de https-versleuteling doet en je backend gewoon http praat. Dat moet ook wel, want je frontend moet sowieso https praten, anders kan 'ie niet lijken naar http headers. Daarna is je backend https laten praten in principe resourceverspilling.

All my posts are provided as-is. They come with NO WARRANTY at all.


Acties:
  • 0 Henk 'm!

  • analog_
  • Registratie: Januari 2004
  • Niet online
True, een resource verspilling maar het lijkt mij verstandig dat zowel de webinterface van de router als interne dns server geen http verstuurt over het lan netwerk waarop ook andere (niet te vertrouwen) gebruikers zitten. Tevens heb ik niet over elk https webserver volledig beheer (of is het simpel weg onmogelijk) waardoor het toch een gewenste functionaliteit zou zijn. Iemand nog suggesties ?