Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

Squid als reverse proxy voor http en https: wat doe ik fout?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Vanwege wat aanpassingen in de infrastructuur alhier, probeer ik een reverse proxy (voor HTTP en HTTPS) op te zetten met Squid (op Ubuntu 10.04LTS). Onze huidige proxy-server (BlueCoat, die ook het reverse stuk doet) gaat er binnenkort uit en de nieuwe oplossing bevat geen mogelijkheden voor reverse proxy.

Wat we willen bereiken is eigenlijk vrij simpel:

- We willen onze Exchange-server via HTTP en HTTPS beschikbaar maken voor webmail en Activesync. (Alles loopt natuurlijk over HTTPS, maar request op HTTP moeten natuurlijk worden geredirect naar HTTPS.)
- We willen 3 webservers bereikbaar maken waarvan 2 alleen HTTP en 1 HTTP en HTTPS.
- We willen geen HTTPS-offloading doen. De webservers zelf moeten dus door de proxy ook over HTTPS-benaderd worden voor alle request op HTTPS.

Nou dacht ik: dat moet eenvoudig te regelen zijn in bijv. Squid. Dat valt me tot nu toe erg tegen. Ik dacht me, met wat leeswerk, wel wegwijs zou kunnen maken in squid.conf

Wat ik nu heb is het volgende:

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
visible_hostname proxy.domainA.com
debug_options ALL,1
extension_methods RPC_IN_DATA RPC_OUT_DATA


http_port <<proxy-IP-adres-1>>:80 defaultsite=www.domainA.com

cache_peer <<IP-adres-serverA>> parent 80 0 no-query proxy-only originserver login=PASS name=domainAhttp
acl ACLdomainAhttp dstdomain www.domainA.com
cache_peer_access nizositehttp allow ACLdomainAhttp
never_direct allow ACLdomainAhttp
http_access allow ACLdomainAhttp

cache_peer <<IP-adres-serverB>> parent 80 0 no-query proxy-only originserver name=domainBhttp
acl ACLdomainBhttp dstdomain www.domainB.nl
cache_peer_access domainBhttp allow ACLdomainBhttp
never_direct allow ACLdomainBhttp
http_access allow ACLdomainBhttp


http_port <<proxy-IP-adres-2>>:80 defaultsite=webmail.domainB.nl

cache_peer <<IP-adres-serverC>> parent 80 0 no-query proxy-only originserver name=webmailredirect
acl ACLwebmailredirect dstdomain webmail.domainB.nl
cache_peer_access webmailredirect allow ACLwebmailredirect
never_direct allow ACLwebmailredirect
http_access allow ACLwebmailredirect


https_port <<proxy-IP-adres-1>>:443  cert=/etc/ssl/certs/www.domainA.com.crt key=/etc/ssl/certs/www.domainA.com.key defaultsite=www.domainA.com

cache_peer <<IP-adres-serverA>> parent 443 0 no-query proxy-only originserver login=PASS sslflags=DONT_VERIFY_PEER name=domainAhttps
acl site dstdomain ACLdomainAhttps
cache_peer_access domainAhttps allow ACLdomainAhttps
never_direct allow ACLdomainAhttps
http_access allow ACLdomainAhttps
miss_access allow ACLdomainAhttps


https_port <<proxy-IP-adres-2>>:443  cert=/etc/ssl/certs/webmail.crt key=/etc/ssl/certs/webmail.key defaultsite=webmail.domainB.nl

cache_peer <<IP-adres-Exchange>> parent 443 0 no-query proxy-only originserver login=PASS ssl sslflags=DONT_VERIFY_PEER front-end-https=on name=webmailhttps
acl ACLwebmailhttps dstdomain webmail.domainB.nl
cache_peer_access webmailhttps allow ACLwebmailhttps
never_direct allow ACLwebmailhttps
http_access allow ACLwebmailhttps
miss_access allow ACLwebmailhttps


acl all src 0.0.0.0/0.0.0.0
http_access deny all
miss_access deny all


Zoals je ziet heeft de proxy 2 IP-adressen met op ieder IP een http_port en een https_port aangemaakt.
Dit werkt echter niet zoals ik zou willen.

Wat er nu lijkt te gebeuren, is dat alle requests die naar de proxy gestuurd worden geforward worden over HTTP naar de cache_peers, die ik in de code onder de https_port(s) heb staan. Ook lijkt de proxy helemaal niet te kijken naar de URL die ik in mijn browser intik.

Als ik in mijn hostsfile dus een entry aanmaak voor bla.bla.com met als IP-adres 1 van de 2 IP's van de proxy-server, dan worden mijn requests naar de cache_peer onder de https_port voor dat IP-adres gestuurd over HTTP.

Kan iemand mij vertellen, wat ik nu verkeer doe?

  • FatalError
  • Registratie: Juni 1999
  • Laatst online: 30-11 18:12
Ik heb geen oplossing voor je, maar met Apache is dit ook vrij makkelijk te fixen. Je zou dat anders eens kunnen proberen.

If it ain't broken, tweak it!


  • Predator
  • Registratie: Januari 2001
  • Laatst online: 22:20

Predator

Suffers from split brain

Mag ik uit persoonlijke interesse vragen waarom je afstapt van Bluecoat en welke andere oplossing je daarvoor gaat gebruiken ?
Is het een puur financiëel gemotiveerde beslissing ?

Everybody lies | BFD rocks ! | PC-specs


Verwijderd

Topicstarter
Predator schreef op vrijdag 13 januari 2012 @ 09:33:
Mag ik uit persoonlijke interesse vragen waarom je afstapt van Bluecoat en welke andere oplossing je daarvoor gaat gebruiken ?
Is het een puur financiëel gemotiveerde beslissing ?
Nee, zeker niet puur financieel (heeft wel meegespeeld, maar is niet doorslaggevend geweest). Het werd, na een jaar of 5-6, gewoon weer eens tijd om de hele boel te heroverwegen. En we hebben gekozen voor een ander systeem, omdat dat - volgens ons - veel beter past bij de eisen, wensen en omvang van de organisatie. Met de BlueCoat hadden we bijvoorbeeld sterk het gevoel, dat we een vrachtwagen in huis hadden voor het transport van een kratje bier.

We hebben niets tegen BlueCoat verder.

  • No13
  • Registratie: Januari 2001
  • Laatst online: 30-11 17:52

No13

/me was here

Ik heb squid voor reverse proxy wel eens bekeken maar mijn conclusie was destijds ook dat Apache zich hier veel beter voor leent.
Ik sluit me dus aan bij 'FatalError' en wil je aanraden daar eens te gaan kijken. Voorbeelden genoeg :)