Dokumentacja właściwości hosta wirtualnego

Przeglądasz dokumentację Apigee Edge.
Przejdź do Dokumentacja Apigee X.
informacje.

Reprezentowanie hosta wirtualnego

Obiekt XML, którego używasz do zdefiniowania hosta wirtualnego, jest oparty na Twojej wersji Edge: Cloud czyli chmury prywatnej.

Jeśli jesteś klientem Private Cloud, musisz się upewnić, że używasz poprawnego kodu XML dla wersję Edge.

Chmura i chmura prywatna 4.17.01 i nowsze

<VirtualHost name="vhostName">
    <Port>portNumber</Port>
    <BaseUrl>http://myCo.com</BaseUrl>
    <OCSPStapling>offOn</OCSPStapling>
    <HostAliases>
        <HostAlias>hostAlias</HostAlias>
    </HostAliases>
    <Interfaces>
        <!-- Private Cloud only -->
        <Interface>interfaceName</Interface>
    </Interfaces>
    <RetryOptions>
        <RetryOption>option</RetryOption>
    </RetryOptions>
    <ListenOptions>
        <ListenOption>option</ListenOption>
    </ListenOptions>
    <SSLInfo>
        <Enabled>trueFalse</Enabled>
        <ClientAuthEnabled>trueFalse</ClientAuthEnabled>
        <KeyStore>ref://keystoreRef</KeyStore>
        <KeyAlias>keyAlias</KeyAlias>
        <TrustStore>ref://truststoreRef</TrustStore>
        <IgnoreValidationErrors>trueFalse</IgnoreValidationErrors>
    </SSLInfo>
    <!-- UseBuiltInFreeTrialCert is for Edge Cloud only -->
    <UseBuiltInFreeTrialCert>trueFalse</UseBuiltInFreeTrialCert>
    <PropagateTLSInformation>
        <!-- PropagateTLSInformation is Alpha in the Cloud only -->
        <ConnectionProperties>trueFalse</ConnectionProperties>
        <ClientProperties>trueFalse</ClientProperties>
    </PropagateTLSInformation>
    <Properties>
        <Property name="proxy_read_timeout">timeout</Property>
        <Property name="keepalive_timeout">timeout</Property>
        <Property name="proxy_request_buffering">onOff</Property>
        <Property name="proxy_buffering">onOff</Property>
        <!-- ssl_protocols is Private Cloud only -->
        <Property name="ssl_protocols">protocolList</Property>
        <Property name="ssl_ciphers">cipherList</Property>
    </Properties>
</VirtualHost>

Private Cloud w wersji od 4.16.01 do 4.16.09

<VirtualHost name="vhostName">
    <Port>portNumber</Port>
    <HostAliases>
        <HostAlias>hostAlias</HostAlias>
    </HostAliases>
    <Interfaces>
        <Interface>interfaceName</Interface>
    </Interfaces>
    <SSLInfo>
        <Enabled>trueFalse</Enabled>
        <ClientAuthEnabled>trueFalse</ClientAuthEnabled>
        <KeyStore>ref://keystoreRef</KeyStore>
        <KeyAlias>keyAlias</KeyAlias>
        <TrustStore>ref://truststoreRef</TrustStore>
        <IgnoreValidationErrors>trueFalse</IgnoreValidationErrors>
    </SSLInfo>
</VirtualHost>

Private Cloud 4.15.07 i wcześniej

<VirtualHost name="vhostName">
    <Port>portNumber</Port>
    <HostAliases>
        <HostAlias>hostAlias</HostAlias>
    </HostAliases>
    <Interfaces>
        <Interface>interfaceName</Interface>
    </Interfaces>
    <SSLInfo>
        <Enabled>trueFalse</Enabled>
        <ClientAuthEnabled>trueFalse</ClientAuthEnabled>
        <KeyStore>keystore</KeyStore>
        <KeyAlias>keyAlias</KeyAlias>
        <TrustStore>truststore</TrustStore>
        <IgnoreValidationErrors>trueFalse</IgnoreValidationErrors>
        <Ciphers>
             <Cipher>cipher</Cipher>
             <Cipher>cipher</Cipher>
         </Ciphers>
         <Protocols>
             <Protocol>protocol</Protocol>
             <Protocol>protocol</Protocol>
         </Protocols>
    </SSLInfo>
</VirtualHost>

Właściwości konfiguracji hosta wirtualnego

Tabela poniżej zawiera listę właściwości używanych do konfigurowania hosta wirtualnego:

Właściwości Opis Domyślny Wymagane
VirtualHost

Określa nazwę hosta wirtualnego. Ta nazwa służy do odwoływania się do hosta wirtualnego podczas konfigurowania serwera proxy interfejsu API.

Znaki, których możesz używać w atrybucie nazwa, są ograniczone do następujących znaków: A–Z0–9._\-$%.

Brak Tak
Port

Określa numer portu używany przez hosta wirtualnego. Upewnij się, że port na Router brzegowy.

Jeśli określisz port w elemencie hostalias, to numer portu określony przez <Port> musi pasować.

W przypadku Cloud: podczas tworzenia hosta wirtualnego musisz podać port 443. Jeśli został pominięty. Domyślnie ten port ma wartość 443. Jeśli masz już host wirtualny, który używa portu innego niż 443, nie można zmienić portu.

W przypadku Private Cloud w wersjach od 4.16.01 do 4.17.05: podczas tworzenia hosta wirtualnego, określ port routera używany przez hosta wirtualnego. Na przykład port 9001. Domyślnie router działa jako „apigee” użytkownika który nie ma dostępu do porty z podwyższonymi uprawnieniami, zwykle porty 1024 i starsze. Tworzenie hosta wirtualnego która wiąże router z chronionym portem, musisz skonfigurować router tak, aby uruchamiał się jako użytkownika mającego dostęp do tych portów. Zobacz Konfigurowanie hosta wirtualnego dla: i innych.

W przypadku chmury Private Cloud przed wersją 4.16.01: router może nasłuchiwać tylko jedno połączenie HTTPS na hosta wirtualnego na określonym porcie z określonym certyfikatem. Dlatego wiele hostów wirtualnych nie może używać tego samego numeru portu w przypadku zakończenia protokołu TLS ma miejsce na routerze na określonym porcie.

Brak Tak
BaseUrl Zastępuje URL wyświetlany przez interfejs Edge dla serwera proxy API wdrożonego w wirtualnym hosta. Ta opcja jest przydatna, gdy przed routerami brzegowymi znajduje się zewnętrzny system równoważenia obciążenia. Zobacz Konfigurowanie TLS dostęp do interfejsu API w Private Cloud.

Wartość właściwości BaseUrl musi zawierać protokół (np. „http://” lub „https://”).

Brak Nie
OCSPStapling

Klient OCSP (Online Certificate Status Protocol) wysyła stan do respondenta protokołu OCSP w celu określenia, czy certyfikat TLS jest prawidłowy. Odpowiedź wskazuje, czy certyfikat TLS jest prawidłowy i nie został unieważniony.

Gdy ta opcja jest włączona, zszywanie OCSP umożliwia serwerowi Edge działanie jako serwer TLS dla jednokierunkowego protokołu TLS. , aby bezpośrednio wykonać zapytanie do respondenta protokołu OCSP, a następnie zapisać odpowiedź w pamięci podręcznej. Następnie Edge zwraca tę odpowiedź do klienta TLS lub ją zszywa w ramach uzgadniania połączenia TLS. Zobacz Włączanie zszywania OCSP na serwerze. aby dowiedzieć się więcej.

Aby włączyć zszywanie OCSP, musisz włączyć protokół TLS. Ustaw na on, aby włączyć. Wartością domyślną jest off.

wył. Nie
HostAliases
HostAlias

Publicznie widoczna nazwa DNS hosta wirtualnego w routerze, opcjonalnie wraz z parametrem numeru portu. Kombinacja nazwy aliasu hosta i numeru portu hosta wirtualnego musi musi być unikalny dla wszystkich hostów wirtualnych w instalacji Edge. Oznacza to, że wiele maszyn wirtualnych hosty mogą używać tego samego numeru portu, jeśli mają różne aliasy hosta.

Musisz utworzyć wpis DNS i rekord CNAME pasujący do aliasu hosta i hosta alias musi być zgodny z ciągiem znaków przekazywanym przez klienta w nagłówku Host.

Numer portu w usłudze HostAlias jest opcjonalny. Jeśli określisz jako część aliasu hosta, musisz także określić ten sam port za pomocą <Port> element. Możesz też określić 2 elementy HostAlias, jedno z numerem portu, a drugie bez niego.

Możesz mieć kilka definicji HostAlias w tej samej definicji hosta wirtualnego, co odpowiada wielu wpisom DNS dla na hoście wirtualnym, a nie w przypadku wielu portów. Jeśli chcesz mieć wiele portów, utwórz kilka definicji hostów wirtualnych z różnymi portami.

Możesz użyć znaku „*”, w aliasie hosta. Symbol „*” symbol wieloznaczny może może znajdować się tylko na początku (poprzedzający pierwszy „.”) aliasu hosta i nie może być mieszany z innymi znakami. na przykład *.example.com. Certyfikat TLS hosta wirtualnego musi mieć pasującego symbolu wieloznacznego w nazwie CN certyfikatu. Na przykład: *.example.com. Użycie symbolu wieloznacznego w aliasie hosta wirtualnego pozwala Serwery proxy interfejsu API obsługują wywołania adresowane do wielu subdomen, takich jak alpha.example.com, beta.example.com lub live.example.com Użycie aliasu z symbolem wieloznacznym także pomaga ograniczyć wykorzystanie zasobów wirtualnych hostów na środowisko, aby pozostać w usłudze limity, ponieważ host wirtualny z symbolem wieloznacznym jest liczony jako tylko 1 host wirtualny.

Cloud: jeśli masz już host wirtualny, który używa innego portu niż 443, nie można dodać ani usunąć aliasu hosta.

W chmurze Private Cloud: jeśli ustawiasz alias hosta przy użyciu adresu IP adresy routerów, a nie wpisy DNS, dodaj osobny alias hosta dla każdego z nich Router określający adres IP każdego routera i port hosta wirtualnego.

Brak Tak
Interfejsy Dostępne tylko w przypadku Edge dla Private Cloud.
Interfejs

Określa interfejsy sieci, z którymi chcesz powiązać port. Jeśli w pominięciu tego elementu port będzie powiązany ze wszystkimi interfejsami.

Aby na przykład powiązać port tylko z en0:

<Interfaces>
  <Interface>en0</Interface>
</Interfaces>

Określ interfejsy dostępne w systemie, uruchamiając polecenie „ifconfig -a” .

Brak Wszystkie interfejsy
RetryOptions Dostępne w Edge Cloud oraz Private Cloud w wersji 4.18.01 i później.
RetryOption

Skonfiguruj reakcję routera na tego hosta wirtualnego po przejściu procesora wiadomości w dół.

Możesz podać wiele wartości za pomocą <RetryOption>. Prawidłowe wartości uwzględnij:

off Wyłącza ponawianie, a host wirtualny zwraca kod błędu po otrzymaniu żądania.
http_599 (Domyślnie) Jeśli router otrzyma odpowiedź HTTP 599 z komunikatu routera, router przekazuje żądanie do następnego procesora wiadomości.

HTTP 599 to specjalny kod odpowiedzi generowany przez wiadomość procesor podczas wyłączania. Procesor wiadomości próbuje wykonać wszystkie istniejących żądań, ale w przypadku nowych żądań odpowiada kodem HTTP 599, by sygnalizować i spróbuje ponownie wysłać żądanie na następnym procesorze wiadomości.

error Jeśli wystąpił błąd podczas nawiązywania połączenia z procesorem wiadomości, routera, przesyłając do niego żądanie lub odczytując z niego nagłówek odpowiedzi, przekazuje żądanie do następnego procesora wiadomości.
timeout Jeśli podczas nawiązywania połączenia z procesorem wiadomości przekroczono limit czasu, routera, przesyłając do niego żądanie lub odczytując z niego nagłówek odpowiedzi, przekazuje żądanie do następnego procesora wiadomości.
invalid_header Jeśli procesor wiadomości zwrócił pustą lub nieprawidłową odpowiedź, router przekazuje żądanie do następnego procesora wiadomości.
http_XXX Jeśli procesor wiadomości zwrócił odpowiedź z HTTP XXX, router przekieruje żądanie do następnej wiadomości Procesor.

Jeśli podasz wiele wartości, router połączy je za pomocą operatora logicznego LUB.

Na przykład:

<RetryOptions>
  <RetryOption>http_599</RetryOption>
  <RetryOption>error</RetryOption>
  <RetryOption>timeout</RetryOption>
  <RetryOption>invalid_header</RetryOption>
</RetryOptions>
ListenOptions Funkcja dostępna w Private Cloud w wersji 4.18.01 i nowszych oraz w Edge Cloud, wysyłając prośbę do zespołu pomocy Apigee Edge.
ListenOption

Jeśli używasz ELB w trybie przekazywania TCP do obsługi żądań do routerów brzegowych, router będzie traktować adres IP zbioru danych ELB jako adres IP klienta, a nie rzeczywisty adres IP klienta. Jeśli router wymaga prawdziwego adresu IP klienta, włącz proxy_protocol na ELB, tak aby przekazywać adres IP klienta w pakiecie TCP. W routerze musisz też ustawić <ListenOption> na hoście wirtualnym proxy_protocol. Ponieważ narzędzie ELB jest w trybie przekazywania TCP, zazwyczaj wyłączasz TLS w routerze. Dlatego zwykle konfigurujesz host wirtualny tylko do korzystania z proxy_protocol podczas konfigurowania protokołu TLS.

Wartość domyślna pola <ListenOption> jest pusta. ciągu znaków.

Na przykład:

<ListenOptions>
  <ListenOption>proxy_protocol</ListenOption>
</ListenOptions>

Aby później usunąć ustawienie <ListenOption>, zaktualizuj parametr hosta wirtualnego i pomiń tag <ListenOptions> w sekcji .

SSLInfo
Włączono

Włącza jednokierunkowe połączenia TLS/SSL. Musisz mieć zdefiniowany magazyn kluczy zawierający certyfikaty klucz prywatny.

W przypadku Cloud: musisz mieć certyfikat podpisany przez zaufany podmiot, np. Symantec lub VeriSign. Nie możesz używać samodzielnie podpisanego certyfikatu ani certyfikatów liści podpisanych przez samodzielnie podpisany urząd certyfikacji.

Cloud: jeśli istniejący host wirtualny jest skonfigurowany do używania portu niż 443, nie można zmienić ustawienia TLS. Oznacza to, że nie możesz zmienić ustawienia TLS z z „włączone” na „wyłączone” lub z „wyłączone” na „włączone”.

fałsz Nie
ClientAuthEnabled Włącza dwukierunkowe (klient) protokół TLS między brzegiem sieci a aplikacją (klientem), użytkownika. Włączenie dwukierunkowego protokołu TLS wymaga skonfigurowania magazynu zaufania w Edge certyfikat z klienta TLS. fałsz Nie
KeyStore

Nazwa magazynu kluczy w Edge.

Apigee zaleca użycie odwołania do określenia nazwy magazynu kluczy, aby może zmienić magazyn kluczy bez konieczności ponownego uruchamiania routerów. Zobacz Opcje dla konfigurowania TLS.

Brak Tak, jeśli włączona jest wartość prawda
KeyAlias Alias określony podczas przesyłania certyfikatu i klucza prywatnego do magazynu kluczy. Ty musi dosłownie określić nazwę aliasu; nie można użyć odwołania. Zobacz Opcje konfigurowania TLS. Brak Tak, jeśli włączona jest wartość prawda
TrustStore

Nazwa magazynu zaufania w Edge, który zawiera certyfikat lub łańcuch certyfikatów dla dwukierunkowego protokołu TLS. Wymagany, jeśli <ClientAuthEnabled> ma wartość prawda.

Apigee zaleca użycie odwołania do określenia nazwy magazynu zaufania, może zmienić magazyn zaufania bez konieczności ponownego uruchamiania routerów. Zobacz Opcje dla konfigurowania TLS.

Brak Nie
IgnoreValidationErrors

Jeśli ma wartość true (prawda), określa, że błędy certyfikatu TLS mają być ignorowane. Jest to podobne do znaku „-k”. opcja do cURL.

Ta opcja ma zastosowanie podczas konfigurowania protokołu TLS dla serwerów docelowych i docelowych punktów końcowych. podczas konfigurowania hostów wirtualnych korzystających z dwukierunkowego protokołu TLS.

Używanie z docelowym punktem końcowym/serwerem docelowym, jeśli system backendu korzysta z rozszerzenia SNI i zwraca certyfikat z nazwą wyróżniającą podmiotu, która nie jest zgodna z nazwą hosta, nie ma możliwości , aby zignorować błąd, co spowoduje błąd połączenia.

fałsz Nie
Mechanizmy szyfrowania

Tylko Edge for Private Cloud w wersji 4.15.07 lub starszej.

Określa mechanizmy szyfrowania obsługiwane przez hosta wirtualnego. Jeśli nie podano żadnych mechanizmów szyfrowania, wszystkie mechanizmy szyfrowania dostępne dla JVM będą dozwolone.

Aby ograniczyć mechanizmy szyfrowania, dodaj te elementy:

<Ciphers>
  <Cipher>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA</Cipher>
  <Cipher>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256</Cipher>
</Ciphers>
Wszystkie obsługiwane przez JVM Nie
Protokoły

Tylko Edge for Private Cloud w wersji 4.15.07 lub starszej.

Określa protokoły obsługiwane przez hosta wirtualnego. Jeśli nie podasz żadnych protokołów, wszystkie protokoły dostępne dla JVM będą dozwolone.

Aby ograniczyć protokoły, dodaj te elementy:

<Protocols>
  <Protocol>TLSv1</Protocol>
  <Protocol>TLSv1.2</Protocol>
  <Protocol>SSLv2Hello</Protocol>
</Protocols>
Wszystkie obsługiwane przez JVM Nie
UseBuiltInFreeTrialCert Dostępne tylko w przypadku Edge Cloud.
UseBuiltInFreeTrialCert

Jeśli masz płatne konto Edge dla Cloud, ale nie masz jeszcze certyfikatu i klucza TLS, możesz Utworzenie hosta wirtualnego korzystającego z bezpłatnego certyfikatu i klucza próbnego Apigee. Oznacza to, że możesz tworzyć w przypadku hosta wirtualnego bez wcześniejszego utworzenia magazynu kluczy.

Bezpłatny certyfikat próbny Apigee został zdefiniowany dla domeny *.apigee.net. Dlatego Domena <HostAlias> hosta wirtualnego musi też mieć postać *.apigee.net.

Patrz sekcja Definiowanie hosta wirtualnego który korzysta z bezpłatnego próbnego certyfikatu i klucza Apigee.

fałsz Nie
PropagateTLSInformation Dostępne w wersji alfa tylko dla Edge Cloud.
ConnectionProperties

Włącza przechwytywanie informacji o połączeniu TLS przez Edge. Informacje te są następnie dostępne jako zmienne przepływu na serwerze proxy interfejsu API. Zobacz Uzyskiwanie dostępu do informacji o połączeniu TLS przez serwer proxy interfejsu API aby dowiedzieć się więcej.

fałsz Nie
ClientProperties

Umożliwia przechwytywanie szczegółów certyfikatu klienta przechwyconych przez Edge przy użyciu dwukierunkowego protokołu TLS. Informacje te są następnie dostępne jako zmienne przepływu na serwerze proxy interfejsu API. Zobacz Uzyskiwanie dostępu do informacji o połączeniu TLS przez serwer proxy interfejsu API aby dowiedzieć się więcej.

fałsz Nie
Usługi Dostępne w Edge Cloud oraz Private Cloud w wersji 4.17.01 i później.
proxy_read_timeout

Określa czas oczekiwania (w sekundach) między procesorami wiadomości a routerem. Router odrzuca połączenie i zwraca odpowiedź HTTP 504, jeśli nie otrzyma z procesora wiadomości przed wygaśnięciem tego okresu.

Wartość proxy_read_timeout powinna być większa niż używana wartość docelowego limitu czasu przez procesor wiadomości. Dzięki temu router nie przekroczy limitu czasu przed Procesor wiadomości miał czas, aby zwrócić odpowiedź. Domyślny limit czasu oczekiwania dla Procesor komunikatów trwa 55 sekund i 55 000 milisekund, zgodnie z definicją Token conf_http_HTTPTransport.io.timeout.millis dla wiadomości Procesor.

57 Nie
keepalive_timeout

Określa czas oczekiwania (w sekundach) między klientem a routerem, gdy klient wysyła żądanie zawierające nagłówek Keep-Alive. Router utrzymuje otwarte połączenie aż do wygaśnięcia.

Router nie zamknie połączenia, jeśli oczekuje na odpowiedź z procesora wiadomości. Limit czasu rozpoczyna się dopiero po zwróceniu odpowiedzi przez router do klienta.

65 Nie
ssl_ciphers

Ustawia mechanizmy szyfrowania obsługiwane przez hosta wirtualnego, zastępując domyślne mechanizmy szyfrowania ustawione na routera.

Określ listę mechanizmów szyfrowania rozdzielanych dwukropkiem w formacie:

<Property name="ssl_ciphers">HIGH:!aNULL:!MD5:!DH+3DES:!kEDH;</Property>

Informacje o składni i wartościach dozwolonych przez ten token znajdziesz na stronie https://www.openssl.org/docs/man1.0.2/man1/ciphers.html. Zwróć uwagę, że w tokenie są używane nazwy szyfrów OpenSSL, takie jak AES128-SHA256, a nie nazwy szyfrów Java/JSSE, na przykład TLS_RSA_WITH_AES_128_CBC_SHA256.

WYSOKA:!aNULL:

!MD5:

!DH+3DES:

!kEDH

Nie
ssl_protocols

Dostępne tylko w przypadku Edge dla Private Cloud.

Ustawia protokoły TLS obsługiwane przez hosta wirtualnego jako listę rozdzielaną spacjami zastępując domyślne protokoły ustawione w routerze.

Uwaga: jeśli 2 hosty wirtualne mają ten sam port, musisz skonfigurować ssl_protocols na te same protokoły. Oznacza to, że hosty wirtualne współużytkujące ten sam port muszą obsługują dokładnie te same protokoły.

Podaj rozdzielaną spacjami listę protokołów TLS w formacie:

<Property name="ssl_protocols">TLSv1 TLSv1.2</Property>
TLSv1 TLSv1.1 TLSv1.2 Nie
proxy_request_buffering

Włącza (włączone) lub wyłącza (wyłączone) buforowanie treści żądania. Przy włączonym buforowaniu Router buforuje całą treść żądania przed wysłaniem go do procesora wiadomości. Jeśli Wystąpił błąd, router może ponowić próbę użycia innego procesora wiadomości.

Gdy ta opcja jest wyłączona, buforowanie jest wyłączone, a treść żądania jest wysyłana do procesora wiadomości natychmiast po ich otrzymaniu. Jeśli wystąpi błąd, router nie ponawia próby do innego podmiotu przetwarzającego wiadomości.

włączono Nie
proxy_buffering Włącza lub wyłącza buforowanie odpowiedzi. Przy włączonym buforowaniu Router buforuje odpowiedź. Gdy buforowanie jest wyłączone, odpowiedź jest przekazywana do klienta synchronicznie, natychmiast w miarę odbierania go przez router. włączono Nie