OpenBSD Server mit httpd und vmd

midnight

OpenBSD & FreeBSD
Hallo,

ich habe einen OpenBSD Server mit httpd(8) produktiv am laufen. Mit vmd(8) habe ich auf diesem Server eine virtuelle Maschine mit debian installiert, welche einen zusaetzlichen apache2 Webserver fuer eine spezielle "linux only" Anwendung zur Verfuegung stellt. Vom host aus ist der debian Webserver ueber die IP mit lynx zu erreichen und die Webseite wird angezeigt.

Nun zur eigentlichen Frage:

Ich moechte gerne zusaetzlich zu den bereits per httpd laufenden Webseiten den debian Webserver aus dem Internet mit einer subdomain per http _und_ https erreichen. Wie stelle ich so etwas am besten an? Mit relayd(8)?

Code:
Internet
  |
OpenBSD Server___________
  |                     |
httpd       debian vm (apache2)
  |                     |
foo.com         sub.foo.com
bar.com
 
Prinzipiell genau wie du es skiziert hast, auf dem OpenBSD musst du SSL terminieren und dann auf die VM weiterleiten. Dazu brauchst du etwas, was reverse http-Proxy spielen kann und SNI beherrscht. Ich bin leider nicht aus der OpenBSD Ecke, mglw. kann das der httpd schon von sich aus. Ansonsten könntest du auch z.b. Ngnix am OpenBSD Server verwenden der kann das. Oder du verwendest eben noch ein zweites Tool was sich darum kümmert, wie z.b. relayd.
 
hi

relayd ist schon die richtige wahl.

es gibt auch in der man page beispiele wie man ssl terminiert.

holger
 
Danke fuer eure Unterstuetzung. Mit relayd habe ich es die letzten Tage schon versucht und bin davon ausgegangen, dass wenn der apache Webserver ssl zur Verfuegung stellt, die Terminierung auch durch den apache und nicht durch relayd stattfindet. Mit Port 80 funktionierte es schon, nur nicht mit Port 443. Ich war der Meinung, dass relayd auf Layer 7 einfach nur forwarded aber nachdem ich nun aufgrund eures Denkanstosses darueber nachgedacht habe, ist es logisch, dass das nicht funktionieren kann.
 
IIRC kann man den auch so konfigurieren, er muss nicht zwingend SSL terminieren.

Rob

Ich glaube nicht, dass das mit relayd funktioniert, denn relayd schaut ja in den header "Host" nach dem value "sub.foo.com" und forwarded die dann entsprechend in die vm. Das funktioniert bei https nicht. Jedenfalls dachte ich immer, dass bei https die Domaininformationen verschluesselt uebertragen werden. Falls ich nur bullshit rede, korrigiert mich bitte. :-) Dann kann ich mir naemlich einiges an configs sparen.
 
relayd ist in der Ecke noch viel zu mager - und die reload/restart Schwaechen sind ein echtes Manko.
Wie TCM schrieb: haproxy
 
Wenn der Weg vom Proxy zum Webserver prinzipiell vertrauenswürdig ist, könnte man überlegen, die TLS-Terminierung vom Proxy machen zu lassen. Hätte den Vorteil, dass das ranzige Linux und die ranzige Web-Anwendung keinen Zugriff auf den Key erhalten kann. Dass die Anwendung den unverschlüsselten Traffic sieht, ist ja sowieso gegeben.
 
Wenn der Weg vom Proxy zum Webserver prinzipiell vertrauenswürdig ist, könnte man überlegen, die TLS-Terminierung vom Proxy machen zu lassen. Hätte den Vorteil, dass das ranzige Linux und die ranzige Web-Anwendung keinen Zugriff auf den Key erhalten kann. Dass die Anwendung den unverschlüsselten Traffic sieht, ist ja sowieso gegeben.

so viel Linux hass? :/

ad OP)

Wenn du von den ganzen genannten Services nichts gehört hast empfehle ich nginx (und ich empfehle selten) - da du alles mit einem Tool machen kannst. Eine Config und nur ein Punkt wo was schief laufen kann.
 
Zurück
Oben