Serwery proxy przekazujące dalej zapewniają pojedynczy punkt, przez który wiele maszyn wysyła żądania do serwera zewnętrznego. Mogą egzekwować zasady bezpieczeństwa, rejestrować i analizować żądania oraz wykonywać inne działania, aby żądania były zgodne z Twoimi regułami biznesowymi. W Edge serwer proxy przekierowujący zwykle pośredniczy między serwerami proxy interfejsu API a zewnętrznym punktem docelowym TargetEndpoint (serwerem docelowym backendu).
Aby używać serwera proxy przekierowującego HTTP między Edge a TargetEndpoint, musisz skonfigurować ustawienia serwera proxy dla ruchu wychodzącego w procesorach komunikatów (MP). Te właściwości konfigurują procesory wiadomości tak, aby kierowały żądania docelowe z Edge do serwera proxy przekierowującego HTTP.
Aby skonfigurować procesor wiadomości na potrzeby przekierowywania proxy:
- Na procesorze wiadomości zmodyfikuj ten plik:
/opt/apigee/customer/application/message-processor.properties
Jeśli plik
message-processor.propertiesnie istnieje, utwórz go. - Zmodyfikuj plik, aby ustawić właściwości związane z serwerem proxy opisane w tabeli poniżej.
- Upewnij się, że plik właściwości należy do użytkownika „apigee”:
chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
- Zapisz zmiany w pliku właściwości.
- Uruchom ponownie procesor wiadomości, jak pokazano w tym przykładzie:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
W tej tabeli opisujemy właściwości w pliku message-processor.properties, których używasz do konfigurowania procesora wiadomości na potrzeby przekazywania żądań do serwera backendu:
| Właściwość | Opis |
|---|---|
conf_http_HTTPClient.use.proxy |
Zezwala na używanie serwera proxy przekierowania. Wartość domyślna to Jeśli ustawisz tę wartość na |
conf_http_HTTPClient.use.tunneling |
Domyślnie Edge używa tunelowania dla całego ruchu. Aby domyślnie wyłączyć tunelowanie, ustaw tę właściwość na „false”. |
use.proxy.host.header.with.target.uri |
Ustawia hosta docelowego i port jako nagłówek
<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 |
Określa typ serwera proxy HTTP jako HTTP lub HTTPS. Domyślnie używany jest protokół „HTTP”. |
conf/http.properties+HTTPClient.proxy.host |
Określa nazwę hosta lub adres IP, pod którym działa serwer proxy HTTP. |
conf/http.properties+HTTPClient.proxy.port |
Określa port, na którym działa serwer proxy HTTP. Jeśli ta właściwość zostanie pominięta, domyślnie używany jest port 80 w przypadku HTTP i port 443 w przypadku HTTPS. |
conf/http.properties+HTTPClient.proxy.user conf/http.properties+HTTPClient.proxy.password |
Jeśli serwer proxy HTTP wymaga uwierzytelniania podstawowego, użyj tych właściwości, aby podać szczegóły autoryzacji. |
Na przykład:
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
Jeśli dla procesora wiadomości skonfigurowano przekierowanie proxy, cały ruch z serwerów proxy interfejsu API do docelowych backendów przechodzi przez określony serwer proxy HTTP. Jeśli ruch do określonego celu serwera proxy interfejsu API powinien trafiać bezpośrednio do celu backendu, z pominięciem serwera proxy przekierowania, ustaw tę właściwość w TargetEndpoint, aby zastąpić serwer proxy przekierowania HTTP:
<Property name="use.proxy">false</Property>
Więcej informacji o ustawianiu właściwości TargetEndpoint, w tym o konfigurowaniu połączenia z docelowym punktem końcowym, znajdziesz w dokumentacji właściwości punktu końcowego.
Aby domyślnie wyłączyć przekazywanie proxy dla wszystkich elementów docelowych, ustaw tę właściwość w pliku message-processor.properties:
conf_http_HTTPClient.use.proxy=false
Następnie ustaw use.proxy na „true” w przypadku każdego elementu TargetEndpoint, który ma przechodzić przez serwer proxy przekierowujący HTTP:
<Property name="use.proxy">true</Property>
Domyślnie Edge używa tunelowania do przesyłania ruchu do serwera proxy. Aby domyślnie wyłączyć tunelowanie, ustaw tę właściwość w pliku message-processor.properties:
conf_http_HTTPClient.use.tunneling=false
Jeśli chcesz wyłączyć tunelowanie dla konkretnego celu, ustaw właściwość use.proxy.tunneling w TargetEndpoint. Jeśli cel używa protokołu TLS/SSL, ta właściwość jest ignorowana, a wiadomość jest zawsze wysyłana przez tunel:
<Property name="use.proxy.tunneling">false</Property>
Aby Edge działał jako serwer proxy przekierowujący, który odbiera żądania z usług backendu i kieruje je do internetu poza firmą, najpierw skonfiguruj serwer proxy interfejsu API w Edge. Usługa backendu może następnie wysłać żądanie do serwera proxy interfejsu API, który może połączyć się z usługami zewnętrznymi.