NGINX reverse proxy alles laten passeren.

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Waarnemer
  • Registratie: November 2013
  • Laatst online: 19-09 09:40
Als "leerzaam" project heb ik in de meterkast een setje servers staan.
Nu is het met een huis tuin en keuken router prima mogelijk aan poort forwarding te doen en alle 80 en 443 verkeer naar één intern IP te forwarden.

Makkelijk als alles op een virtual host staat dan regelt die het allemaal wel. Ook bij verschillende domains.

Nou zou ik dit graag verdelen over meerdere fysieke machientjes (heb een hele ris aan Raspberries doe voor van alles zijn te gebruiken).

Dat lukt op zich prima met nginx 1.17.x geinstalleerd op een Netgear WNDR4500 met DD-WRT (v3)...

Nou gebruik ik SSL op de servers. En dat gaat prima als ik één domain heb met het cert op de nginx.
Maar nu heb ik er wat meer. 1. domain heeft een heus ssl cert, anderen gebruiken letsencrypt certs.
Eigenlijk kan elke vhost zijn eigen certificaat hebben hetzij letsencrypt hetzij een heuse...

Ik kom er niet uit hoe ik verkeer met nginx zo regel dat het certificaat van de vhost gerespecteerd blijft?
Of moet ik iets anders dan nginx

schematisch voorbeeldje

world wide web
- nginx
-- server 1
--- vhost1 met echt ssl
--- vhost2 met letsencrypt
--- vhost3 met ....
-- server 2
--- vhost4 met ...
--- vhost5 met ...

eigenlijk allemaal een eigen cert.

Hopelijk een beetje duidelijk uitgelegd. Als ik op internet zoek zie ik veel dat het niet kan maar ook dat het wel kan. De voorbeelden zijn mij dan weer onduidelijk.

Maar mischien moet ik er wel hele andere software/hardware tussen zetten.

Alle reacties


Acties:
  • 0 Henk 'm!

  • DennusB
  • Registratie: Mei 2006
  • Niet online
Google even op Nginx + SNI SSL :) Dan kom je een aardig eind als het goed is!

Owner of DBIT Consultancy | DJ BassBrewer


Acties:
  • 0 Henk 'm!

  • Waarnemer
  • Registratie: November 2013
  • Laatst online: 19-09 09:40
@DennusB Zie, als je de juiste terminology niet kent dan vind je zoiets niet één twee drie. Dank!

eerste hit: http://nginx.org/en/docs/http/configuring_https_servers.html

Dus sub.domain.com.crt (dus de toevoeging van crt en key) passeert het certificaat van de vhost. begrijp ik dat goed?

Ik heb nu zoiets als ssl_certificate /path/to/cert/ssl.crt maar het kan dus ook met het sub.domain.com.crt?

Acties:
  • 0 Henk 'm!

  • DennusB
  • Registratie: Mei 2006
  • Niet online
Waarnemer schreef op donderdag 8 oktober 2020 @ 15:21:
@DennusB Zie, als je de juiste terminology niet kent dan vind je zoiets niet één twee drie. Dank!

eerste hit: http://nginx.org/en/docs/http/configuring_https_servers.html

Dus sub.domain.com.crt (dus de toevoeging van crt en key) passeert het certificaat van de vhost. begrijp ik dat goed?

Ik heb nu zoiets als ssl_certificate /path/to/cert/ssl.crt maar het kan dus ook met het sub.domain.com.crt?
Je kan meerdere vhosts aanmaken met losse SSL certificaten, bij de SSL handshake kijkt je webserver dan eerst welk hostname is opgevraagd voor hij het cert doorstuurt naar je client :) Zou het wel op je eerste Nginx server na je router doen, en dan alles daarachter kan je eventueel off-loaden naar poort 80.

Owner of DBIT Consultancy | DJ BassBrewer


Acties:
  • 0 Henk 'm!

  • Waarnemer
  • Registratie: November 2013
  • Laatst online: 19-09 09:40
mmm...dus de certificaten moeten WEL op de nginx server (DD-WRT) staan dus?
dat is nou net weer niet handig... de letsencrypts worden automatisch ververst door de servers met de vhosts.

Ik wil eigenlijk dat nginx slechts passeert... maar ik begrijp dat dat dus niet kan?

Acties:
  • 0 Henk 'm!

  • Oid
  • Registratie: November 2002
  • Niet online

Oid


Acties:
  • 0 Henk 'm!

  • Vloris
  • Registratie: December 2001
  • Laatst online: 18-09 16:33
Waarnemer schreef op donderdag 8 oktober 2020 @ 17:00:
Ik wil eigenlijk dat nginx slechts passeert... maar ik begrijp dat dat dus niet kan?
Dat kan inderdaad niet, omdat het hele idee achter SSL voor web-verkeer (https) is dat niemand het onderweg kan onderscheppen en lezen wat er in staat.
En wat wil een nginx reverse proxy doen? Juist. Het verkeer onderscheppen, erin kijken en het dan doorsturen naar de juiste achterliggende server.

Dat kan dus niet als nginx niet ook het ssl certificaat kent.
Pagina: 1