Hallo zusammen,
ich habe noch nicht viel Erfahrung mit nginx und mein Problem ist wahrscheinlich eher Einsteiger-Niveau.
Ich habe eine Standard html-Webseite laufen. Dies ist keine offiziell gehostete Seite, sondern eher eine interne Service-Webseite eines Gerätes. Sie läuft auf einem PC (PC-device) zusammen mit nginx, der die Daten für die Webseite zur Verfügung stellt.
Wenn ich diese Webseite über einen direkt angeschlossenen PC (PC-browser) aufrufe, funktioniert alles wunderbar.
Nun möchte ich einen weiteren PC (PC-proxy) als Reverse-Proxy zwischenschalten, auf dem ebenfalls nginx läuft.
PC-device ist mit PC-proxy über 192.168.5.0 verbunden.
PC-browser ist mit PC-proxy über 192.168.1.0 verbunden.
Der PC-browser sieht somit PC-device nicht mehr direkt.
Die index.html bekomme ich nun über eine proxy-pass Konfiguration geladen, aber alle Daten, die nachgeladen werden sollen, werden nicht mehr gefunden.
Ich hab einiges ausprobiert, aber komme irgendwie nicht weiter. Diese Struktur ist doch eigentlich eine Standard reverse-proxy Struktur.
Folgende Konfiguration:
PC-device
/pfad/index.html
<img src="/images/logo.jpg" …>
nginx.conf
location /images/
absoluter_image_pfad
PC-proxy
nginx.conf
location /device/
proxy_pass 192.168.5.1/pfad
index.html
PC-browser
url: 192.168.1.1/device/index.html
=> index.html wird korrekt geladen vom PC-device, da die proxy-pass Anweisung den Weg weist.
=> aber das Logo-Bild, das die index.html nachladen will, wird nicht gefunden.
Wie lädt eine Web-site Daten über einen Proxy nach ?
Wie kann nginx(PC-proxy) wissen, dass er das Bild /images/logo.jpg vom PC-device laden soll, wenn die Seite mit “192.168.1.1/device/index.html” gestartet ist?
Gibt es einen Weg alle internen Aufrufe, mit denen Informationen nachgeladen werden auf PC-device zu leiten, wenn das ganze aber mit “192.168.1.1/device/index.html” gestartet ist ?
Dank für jeden Tipp.