Weiterleitungsproxys bieten einen zentralen Punkt, über den mehrere Maschinen Anfragen an einen externen Server senden. Sie können Sicherheitsrichtlinien erzwingen, Anfragen protokollieren und analysieren und andere Aktionen ausführen, sodass Anfragen Ihren Geschäftsregeln entsprechen. Mit Edge verbindet ein Forward-Proxy normalerweise Ihre API-Proxys und einen externen Zielendpunkt (ein Back-End-Zielserver).
Um einen HTTP Forward-Proxy zwischen Edge und dem Zielendpunkt zu verwenden, müssen Sie die Einstellungen für ausgehenden Proxy auf den Message Processors (MPs) konfigurieren. Diese Properties konfigurieren die MPs so, dass Zielanfragen von Edge an den HTTP-Forward-Proxy weitergeleitet werden.
So konfigurieren Sie einen MP für die Weiterleitung von Proxys:
- Bearbeiten Sie auf der MP-Datei die folgende Datei:
/opt/apigee/customer/application/message-processor.properties
Wenn die Datei
message-processor.properties
nicht vorhanden ist, erstellen Sie sie. - Bearbeiten Sie die Datei, um die proxybezogenen Eigenschaften festzulegen, die in der folgenden Tabelle beschrieben sind.
- Prüfen Sie, ob die Datei „properties“ dem Nutzer „apigee“ gehört:
chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- Speichern Sie die Änderungen an der Datei mit den Eigenschaften.
- Starten Sie die MP neu, wie im folgenden Beispiel gezeigt:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
In der folgenden Tabelle werden die Attribute in der Datei message-processor.properties
beschrieben, mit denen Sie einen MP für die Weiterleitung an ein Back-End-Server konfigurieren:
Attribut | Beschreibung |
---|---|
conf_http_HTTPClient.use.proxy |
Ermöglicht die Verwendung des Weiterleitungs-Proxys. Der Standardwert ist Wenn Sie diesen Wert auf |
conf_http_HTTPClient.use.tunneling |
Edge verwendet standardmäßig Tunneling für den gesamten Traffic. Wenn Sie das Tunneling standardmäßig deaktivieren möchten, setzen Sie dieses Attribut auf „false“. |
use.proxy.host.header.with.target.uri |
Legt den Zielhost und den Port als <HTTPTargetConnection> <Properties> <Property name="use.proxy.host. header.with.target.uri">true </Property> </Properties> <URL>https://mocktarget.apigee.net/ my-target</URL> </HTTPTargetConnection> |
conf/http.properties+HTTPClient.proxy.type |
Gibt den Typ des HTTP-Proxys als HTTP oder HTTPS an. Standardmäßig wird „HTTP“ verwendet. |
conf/http.properties+HTTPClient.proxy.host |
Gibt den Hostnamen oder die IP-Adresse an, unter der der HTTP-Proxy ausgeführt wird. |
conf/http.properties+HTTPClient.proxy.port |
Gibt den Port an, auf dem der HTTP-Proxy ausgeführt wird. Wenn Sie dieses Attribut weglassen, wird standardmäßig Port 80 für HTTP und Port 443 für HTTPS verwendet. |
conf/http.properties+HTTPClient.proxy.user conf/http.properties+HTTPClient.proxy.password |
Wenn der HTTP-Proxy eine Basisauthentifizierung erfordert, verwenden Sie diese Attribute, um Autorisierungsdetails bereitzustellen. |
Beispiel:
conf_http_HTTPClient.use.proxy=true conf_http_HTTPClient.use.tunneling=false conf/http.properties+HTTPClient.proxy.type=HTTP conf/http.properties+HTTPClient.proxy.host=my.host.com conf/http.properties+HTTPClient.proxy.port=3128 conf/http.properties+HTTPClient.proxy.user=USERNAME conf/http.properties+HTTPClient.proxy.password=PASSWORD
Wenn das Weiterleiten von Proxys für den MP konfiguriert ist, wird der gesamte Traffic von API-Proxys zu Back-End-Zielen durch den angegebenen HTTP-Weiterleitungs-Proxy geleitet. Wenn der Traffic für ein bestimmtes Ziel eines API-Proxys direkt zum Back-End-Ziel geleitet werden soll, die den Weiterleitungsproxy umgehen, legen Sie das folgende Attribut im TargetEndpoint fest, um den HTTP-Weiterleitungsproxy zu überschreiben:
<Property name="use.proxy">false</Property>
Weitere Informationen zum Festlegen der TargetEndpoint-Attribute, einschließlich der Konfiguration der Verbindung zum Zielendpunkt, finden Sie unter Referenz für Zielpunktattribute.
Wenn Sie die Weiterleitung von Proxys für alle Ziele standardmäßig deaktivieren möchten, legen Sie die folgende Property in Ihrer message-processor.properties
-Datei fest:
conf_http_HTTPClient.use.proxy=false
Setzen Sie dann use.proxy
für jeden TargetEndpoint, den Sie durch einen HTTP Forward-Proxy führen möchten, auf „true“:
<Property name="use.proxy">true</Property>
Edge verwendet standardmäßig Tunneling für den Traffic zum Proxy. Wenn Sie das Tunneling standardmäßig deaktivieren möchten, legen Sie in der Datei message-processor.properties
das folgende Attribut fest:
conf_http_HTTPClient.use.tunneling=false
Wenn Sie das Tunneling für ein bestimmtes Ziel deaktivieren möchten, legen Sie die Property use.proxy.tunneling
im TargetEndpoint fest. Wenn das Ziel TLS/SSL verwendet, wird dieses Attribut ignoriert und die Nachricht wird immer über einen Tunnel gesendet:
<Property name="use.proxy.tunneling">false</Property>
Damit Edge selbst als Weiterleitungs-Proxy fungiert und Anfragen von den Back-End-Diensten empfängt und außerhalb des Unternehmens an das Internet weiterleitet, müssen Sie zuerst einen API-Proxy in Edge einrichten. Der Back-End-Dienst kann dann eine Anfrage an den API-Proxy senden, der sich dann mit externen Diensten verbinden kann.