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:
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.
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 ]