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 leitet ein Weiterleitungsproxy in der Regel Ihre API-Proxys und einen externen TargetEndpoint (einen Backend-Zielserver) weiter.
Wenn Sie einen HTTP-Weiterleitungsproxy zwischen Edge und TargetEndpoint verwenden möchten, müssen Sie die Einstellungen für ausgehenden Proxy auf den Message Processors (MPs) konfigurieren. Mit diesen Attributen werden die MPs so konfiguriert, dass Zielanfragen von Edge an den HTTP-Weiterleitungsproxy weitergeleitet werden.
So konfigurieren Sie einen MP für die Weiterleitung:
- Bearbeiten Sie auf dem MP die folgende Datei:
/opt/apigee/customer/application/message-processor.properties
Wenn die Datei
message-processor.propertiesnicht vorhanden ist, erstellen Sie sie. - Bearbeiten Sie die Datei, um die in der folgenden Tabelle beschriebenen Proxy-bezogenen Attribute festzulegen.
- Achten Sie darauf, dass die Attributdatei dem Nutzer „apigee“ gehört:
chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- Speichern Sie die Änderungen in der Attributdatei.
- Starten Sie den 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 einen Backend-Server konfigurieren:
| Attribut | Beschreibung |
|---|---|
conf_http_HTTPClient.use.proxy |
Erlaubt die Verwendung eines Weiterleitungsproxys. Der Standardwert ist Wenn Sie diesen Wert auf |
conf_http_HTTPClient.use.tunneling |
Standardmäßig verwendet Edge 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 dem beziehungsweise 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 anzugeben. |
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 ein Weiterleitungsproxy für den MP konfiguriert ist, wird der gesamte Traffic, der von API-Proxys zu Backend-Zielen geleitet wird, über den angegebenen HTTP-Weiterleitungsproxy geleitet. Wenn der Traffic für ein bestimmtes Ziel eines API-Proxys direkt zum Backend-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 in der Datei message-processor.properties das folgende Attribut fest:
conf_http_HTTPClient.use.proxy=false
Setzen Sie dann use.proxy auf „true“ für jeden TargetEndpoint, den Sie über einen HTTP-Weiterleitungsproxy durchlaufen möchten:
<Property name="use.proxy">true</Property>
Standardmäßig verwendet Edge 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 das Attribut 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 Forward-Proxy fungiert, der Anfragen von den Backend-Diensten empfängt und sie an das Internet außerhalb des Unternehmens weiterleitet, müssen Sie zuerst einen API-Proxy in Edge einrichten. Der Backend-Dienst kann dann eine Anfrage an den API-Proxy senden, der dann eine Verbindung zu externen Diensten herstellen kann.