OpenWRT leitet eingehenden WAN-Verkehr basierend auf dem Domänennamen um

1614
user2513149

Ich habe einen Router mit OpenWRT-Firmware und zwei Computer im lokalen Netzwerk, die verschiedene Websites hosten. Ich habe auch zwei Domänennamen ( domain1und domain2), die beide auf die WAN-IP-Adresse meines Routers verweisen. Ich habe den Router so eingerichtet, dass er eingehende Anforderungen an Port 80 annimmt und an den ersten Computer umleitet. Daher wird der gesamte Verkehr auf die einzelne Maschine umgeleitet. Wie kann ich den Router veranlassen, Anforderungen nach Domainnamen zu unterscheiden, sodass domain2er mich bei jeder Eingabe auf den zweiten Computer umleitet?

0

1 Antwort auf die Frage

3
Jacob Evans

Dies ist nicht der Zweck eines Routers, Router mit NAT arbeiten auf Layer 3 und Layer 4 (IP und Port), was Sie auf Layer 7 (Anwendung: http) benötigen.

TLDR; Sie müssen einen Webproxy konfigurieren, um den Verkehr basierend auf HOST-Headern weiterzuleiten. Hierbei sollte es sich um eine redundante Gruppe von Systemen wie haproxy / keepalived oder nginx handeln. Welche gibt es viele Fragen / Antworten hier, wie das geht.

mod_proxy Fowarding basierend auf dem Request-Host-Header

Alles in allem, wenn Sie Nginx auf Ihrem Router installieren mussten, konnten Sie dies tun.

opkg update opkg install nginx 

/etc/nginx/nginx.conf

server { server_name site1.example.com;  location / { # app1 reverse proxy proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://192.168.1.3:80; }  access_log /var/log/nginx/site1.example.com_access.log; error_log /var/log/nginx/site1.example.com_error.log;  }  server { server_name site1.mydomain.com;  location / { # app2 reverse proxy proxy_pass http://192.168.1.4:80; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }  access_log /var/log/nginx/site1.mydomain.com_access.log; error_log /var/log/nginx/site1.mydomain.com_error.log;  } 

Wo sind 192.168.1.3 und 192.168.1.4 Ihre Backends.

https://wiki.openwrt.org/doc/howto/http.nginx

Ist es möglich, Tintenfisch zu verwenden? user2513149 vor 7 Jahren 0
Technisch ja, aber Tintenfisch ist von vornherein ein Vorwärts-Proxy Jacob Evans vor 7 Jahren 0
Und was ist mit dem `uhttpd`-Server, der standardmäßig mit OpenWRT geliefert wird? user2513149 vor 7 Jahren 0
Keine Erfahrung damit, vielleicht öffnen Sie einen neuen Thread, der spezifisch für uhttpd und openwrt ist, im Superuser-Austausch. Dies gilt für Unternehmenssysteme. Jacob Evans vor 7 Jahren 0