it-swarm.com.de

Reverse-Proxy nur für eine bestimmte URL

Ich habe einen Webserver unter www.ourcompany.com, auf dem Apache2 ausgeführt wird. Mit den Proxy-Modulen kann ich (zum Beispiel) 172.16.0.5, ein internes IP-Gerät, auf www.ourcompany.com/device zugreifen.

Das Problem ist, dass jeder mit dem Gerät spielen oder es mit Strings erkunden kann, die an www.ourcompany.com/device/change/settings/here.html gesendet werden. Ich möchte, dass der Reverse-Proxy nur für eine bestimmte URL funktioniert. www.ourcompany.com/device/you/must/use/this, während alles andere auf Anfrage abgelehnt wird.

Gibt es eine Einstellung, die dazu verwendet werden kann, oder handelt es sich um eine einfache Umschreibebedingung, die im virtuellen Host für die Site unter sites-enabled abgelegt ist? Was ist die einfachste und am besten zu wartende Methode, um Anforderungen an das interne Gerät über den Reverse-Proxy zu bereinigen?

Ausführen von Apache2 unter Ubuntu.

1

Die Direktive ProxyPass akzeptiert 3 verschiedene Kontexte: Serverkonfiguration, virtueller Host, Verzeichnis.

Da es in einem Verzeichniskontext gültig ist, kann es in <Directory>-, <Location>-, <Files>- und <Proxy>-Containern in den Serverkonfigurationsdateien verwendet werden, vorbehaltlich der in aufgeführten Einschränkungen Konfigurationsabschnitte.

In Ihrem Fall können Sie einen Container Location verwenden, um die zulässigen Speicherorte anzugeben.

<Location /device>
ProxyPass ...
</Location>
1
Simone Carletti