Weiterleitungs-Proxys konfigurieren

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:

  1. Bearbeiten Sie auf dem MP die folgende Datei:
    /opt/apigee/customer/application/message-processor.properties

    Wenn die Datei message-processor.properties nicht vorhanden ist, erstellen Sie sie.

  2. Bearbeiten Sie die Datei, um die in der folgenden Tabelle beschriebenen Proxy-bezogenen Attribute festzulegen.
  3. Achten Sie darauf, dass die Attributdatei dem Nutzer „apigee“ gehört:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
  4. Speichern Sie die Änderungen in der Attributdatei.
  5. 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 true. Das bedeutet, dass Sie einen Weiterleitungsproxy auf der API-Proxy-Ebene verwenden können, indem Sie die entsprechende XML-Datei in Ihre Bundle-Konfiguration einfügen.

Wenn Sie diesen Wert auf false festlegen, können Sie keinen Forward-Proxy verwenden.

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 Host-Header fest. Standardmäßig werden der Proxy-Host und der Proxy-Port als Host-Header festgelegt. Sie können dieses Attribut nur im TargetEndpoint festlegen. Beispiel:

<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.