Informacje o hostach wirtualnych

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

W Edge router obsługuje cały przychodzący ruch interfejsu API. Oznacza to, że wszystkie protokoły HTTP i HTTPS żądania wysyłane do serwera proxy interfejsu API są najpierw obsługiwane przez router brzegowy.

Host wirtualny umożliwia hostowanie wielu nazw domen na serwerze. W przypadku Edge serwer odpowiada routerowi brzegowemu. Gdy zdefiniujesz wiele hostów wirtualnych w routerze, Router może obsługiwać żądania API wysyłane do wielu nazw domen.

Host wirtualny na urządzeniu Edge definiuje protokół dostępu (HTTP lub HTTPS), otwarty port routera i hosta. alias. Alias hosta to zwykle nazwa domeny DNS mapowana na adres IP routera.

Na przykład ten obraz przedstawia router z 2 definicjami hostów wirtualnych:

Pierwszy host wirtualny obsługuje żądania HTTPS na domena domainName1, a druga obsługuje żądania HTTP w domenie domainName2.

W żądaniu wysyłanym do serwera proxy interfejsu API router porównuje nagłówek Host żądania przychodzącego z lista aliasów hostów zdefiniowanych przez wszystkie hosty wirtualne w celu określenia, które i host obsługuje żądanie.

Definicje hostów wirtualnych

Hosty wirtualne zawierają te informacje:

  • Wewnętrzna nazwa hosta wirtualnego. Ta nazwa służy do odwoływania się do wirtualnego w serwerach proxy interfejsu API i podczas konfigurowania hosta wirtualnego.
  • Alias hosta hosta wirtualnego. Zwykle aliasem hosta jest DNS. z nazwą domeny mapowaną na adres IP routera. Nagłówek Host elementu Żądania serwera proxy interfejsu API muszą zawierać alias hosta wirtualnego.
  • Otwarty port w routerze.
  • Określa, czy jest włączony protokół TLS (HTTPS) (dostęp przez HTTP).

Podczas tworzenia hosta wirtualnego możesz na przykład określić te informacje:

  • nazwa = myvhost
  • alias hosta = apis.acme.com
  • port = 443
  • Protokół TLS jest włączony
.

Zgodnie z powyższym ustawieniem dla hosta wirtualnego żądanie do serwera proxy interfejsu API używa formularz:

https://apis.acme.com/{proxy-base-path}/{resource-path}

gdzie:

  • {proxy-base-path} jest zdefiniowany podczas tworzenia serwera proxy interfejsu API i unikalny dla każdego takiego serwera. Na przykład:
    https://apis.acme.com/characters
  • {resource-path} ścieżka do zasobu dostępnego przez serwer proxy interfejsu API. Na przykład:
    https://apis.acme.com/characters/coyote
    https://apis.acme.com/characters/roadrunner

Informacje o hostach wirtualnych w Edge dla chmury

Każda organizacja Edge automatycznie obejmuje 2 środowiska (test i prod), w każdym środowisku są 2 hosty wirtualne (domyślne i bezpieczne): i rekordy DNS dla każdego aliasu hosta.

Alias hosta każdego hosta wirtualnego udostępnionego przez Apigee zawiera nazwę organizacji i Environment zgodnie z tabelą poniżej:

Środowisko Nazwa hosta wirtualnego Alias hosta Port Włączony TLS
produkcyjne domyślna {org-name}-prod.apigee.net 80 Nie
Bezpieczny {org-name}-prod.apigee.net 443 Tak
test domyślna {org-name}-test.apigee.net 80 Nie
Bezpieczny {org-name}-test.apigee.net 443 Tak

Na przykład domyślna nazwa domeny organizacji o nazwie „myorg” w środowisku prod ma wartość „myorg-prod.apigee.net”. Dlatego, aby uzyskać dostęp do serwera proxy interfejsu API w tej organizacji, musisz użyć adresu URL w formacie:

http://myorg-prod.apigee.net/{proxy-base-path}/{resource-path}
https://myorg-prod.apigee.net/{proxy-base-path}/{resource-path}

Abonamenty Apigee: nazwa domeny zawierająca „apigee.net”. może nie być tym, co chcesz pokazać swojemu klientów. Możesz użyć wpisu DNS i rekordu CNAME, aby zmapować nazwę domeny na: z Twojej organizacji na Edge. Musisz też utworzyć hosta wirtualnego z aliasem hosta ustawionym na ten nazwę domeny. Dzięki temu deweloperzy będą mieli dostęp do interfejsu API przez domenę charakterystyczną dla Twojej firmy.

Oto przykład domeny niestandardowej w Edge:

https://apis.acme.com/{proxy-base-path}/{resource-path}

Informacje o hostach wirtualnych w Edge dla Private Cloud

Gdy instalujesz Apigee Edge dla Private Cloud, nie ma żadnych domyślnych organizacji, czy hosty wirtualne utworzone dla Ciebie. Po zakończeniu procesu instalacji Edge pierwszym działaniem jest zwykle utworzenie organizacji, środowiska i hosta wirtualnego za pomocą „Dołączenie do programu” proces tworzenia konta.

Aby przeprowadzić wprowadzenie, uruchom następujące polecenie w węźle serwera zarządzania brzegiem:

/opt/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile

gdzie configFile zawiera informacje niezbędne do utworzenia użytkownika, organizacji, środowiska i hosta wirtualnego.

Na przykład tworzysz:

  • wybranym przez Ciebie użytkownikiem pełniącym funkcję administratora organizacji.
  • Organizacja o nazwie example
  • Środowisko w organizacji o nazwie prod
  • Host wirtualny w środowisku o nazwie default, który zezwala na dostęp HTTP na porcie 9001,
  • Alias hosta z nazwą DNS używaną do uzyskiwania dostępu do routera lub adres IP routera hosta wirtualnego w formacie IP:9001.

Później możesz dodać do swojej bazy danych dowolną liczbę organizacji, środowisk i hostów wirtualnych lokalnej wersji Edge. Aby dowiedzieć się więcej, zobacz:

Hosty wirtualne są otwarte w routerze brzegowym. Dlatego musisz się upewnić, że port, określony dla hosta wirtualnego jest otwarty w routerze. Możesz użyć polecenia w formularzu poniżej aby otworzyć port:

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9001 -j ACCEPT --verbose

Po uruchomieniu tego polecenia dostęp do interfejsów API możesz uzyskać, korzystając z adresu URL w postaci:

http://<router-ip>:9001/{proxy-base-path}/{resource-path}

Zwykle nie udostępniasz swoich interfejsów API klientom z adresami IP, numeru portu. Zamiast tego zdefiniuj wpis DNS dla routera i portu. Na przykład:

http://myAPI.myCo.com/{proxy-base-path}/{resource-path}

Gdy definiujesz wpis DNS, musisz też utworzyć hosta wirtualnego z aliasem hosta, zgadza się z nazwą domeny we wpisie DNS. W powyższym przykładzie należałoby określić alias hosta. myAPI.myCo.com podczas tworzenia hosta wirtualnego.

Informacje o aliasach hostów i nazwach DNS

Jedną z usług ustawianych dla hosta wirtualnego jest alias hosta. Alias hosta to zwykle jest to nazwa DNS hosta wirtualnego. Sposób ustawiania aliasu hosta zależy od typu Instalacja brzegowa: Cloud lub Private Cloud.

Aliasy hostów Nazwy DNS w Edge dla chmury

Gdy po raz pierwszy tworzysz organizację Edge w Edge dla chmury, Apigee automatycznie tworzy 2 środowiska (test i prod), dwa hosty wirtualne w dla każdego środowiska (domyślne i bezpieczne) oraz rekordy DNS dla każdego hosta wirtualnego.

Alias hosta hostów wirtualnych zawiera nazwę organizacji i środowiska. W związku z tym żądanie przesłane przez hosta wirtualnego ma postać:

  • http://{org-name}-prod.apigee.net/{proxy-base-path}/{resource-path}
  • https://{org-name}-prod.apigee.net/{proxy-base-path}/{resource-path}
  • http://{org-name}-test.apigee.net/{proxy-base-path}/{resource-path}
  • https://{org-name}-test.apigee.net/{proxy-base-path}/{resource-path}

Zwykle lepiej jest tworzyć hosty wirtualne korzystające z nazwy domeny zamiast stosowania atrybutu domyślnej domeny apigee.net. Do zrobienia dlatego najpierw musisz utworzyć własny wpis DNS i rekord CNAME.

Poniższy rysunek przedstawia typową konfigurację sposobu, w jaki Edge przetwarza żądanie do interfejsu API:

W tym przykładzie:

  • api.acme.com to pożądana nazwa domeny.
  • Definiujesz wpis DNS i rekord CNAME wskazujący na api.acme.com acme-prod.apigee.net.
  • Żądanie zawiera nagłówek Host, którego router używa do hosta wirtualnego, który obsługuje żądanie.

W tym przykładzie w definicji hosta wirtualnego podajesz te informacje:

  • nazwa = myvhost
  • alias hosta = apis.acme.com
  • port = 443
  • Włącz dostęp TLS

Więcej informacji znajdziesz w artykule Konfigurowanie hostów wirtualnych dla chmury.

Aliasy hostów i nazwy DNS w Edge dla Private Cloud

Podobnie jak w przypadku Edge w chmurze, tworzysz hosty wirtualne korzystające z Twojej nazwy domeny jako hosta. alias. Następnie utwórz własny wpis DNS i rekord CNAME, aby uzyskać dostęp do tych hostów wirtualnych.

Jedną z różnic między chmurami a chmurą prywatną jest to, że w Cloud Apigee automatycznie utworzone nazwy DNS dla Twoich organizacji. Może mieć format:

  • name=default: http://{org-name}-{env-name}.apigee.net (Port routera: 80)
  • name=secure: https://{org-name}-{env-name}.apigee.net (Port 443 routera)

W Edge dla chmury prywatnej musisz utworzyć wpisy DNS dla adresu IP i portu routera.

Możesz na przykład określić te informacje w definicji hosta wirtualnego:

  • nazwa = myvhost
  • alias hosta = apis.acme.com
  • port = 9001
  • Włącz dostęp TLS

Poniższy rysunek przedstawia typową konfigurację sposobu, w jaki Edge przetwarza żądanie do interfejsu API:

W tym przykładzie:

  • api.acme.com to pożądana nazwa domeny.
  • Definiujesz wpis DNS i rekord CNAME, który wskazuje adres IP api.acme.com. i port routera.
  • Żądanie zawiera nagłówek Host, którego router używa do hosta wirtualnego, który obsługuje żądanie.

Więcej informacji znajdziesz w artykule Konfigurowanie hostów wirtualnych dla chmury Private Cloud.

Aliasy hostów i symbole wieloznaczne

Możesz użyć znaku „*”, w aliasie hosta. Symbol „*” symbol wieloznaczny może znajduje się tylko na początku (poprzedzony pierwszą literą „.”) aliasu hosta i nie może być mieszana z innymi znaków.

Poniżej znajduje się przykład prawidłowego aliasu hosta z użyciem symbolu wieloznacznego:

*.example.com

Te przykłady są nieprawidłowe:

  www.*.example.com
  w*.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 tylko jako 1 host wirtualny.

Certyfikat TLS dla hosta wirtualnego musi mieć odpowiedni symbol wieloznaczny w nazwie CN certyfikatu. Na przykład: *.example.com.

Informacje o właściwościach hosta wirtualnego

W Edge host wirtualny jest reprezentowany przez obiekt XML. Na przykład parametr następujący obiekt XML definiuje hosta wirtualnego:

<VirtualHost name="vhostName">
    <HostAliases>
        <HostAlias>hostAlias</HostAlias>
    </HostAliases>
    <Interfaces>
        <!-- Private Cloud only -->
        <Interface>interfaceName</Interface>
    <Port>portNumber</Port>
    <BaseURL>http://myCo.com<</BaseUrl>
    <OCSPStapling>off</OCSPStapling>
    <RetryOptions/>
   <SSLInfo>
        <Enabled>trueFalse</Enabled>
        <ClientAuthEnabled>trueFalse</ClientAuthEnabled>
        <KeyStore>ref://keystoreRef</KeyStore>
        <KeyAlias>keyAlias</KeyAlias>
        <TrustStore>ref://truststoreRef</TrustStore>
        <IgnoreValidationErrors>trueFalse</IgnoreValidationErrors>
    </SSLInfo>
    <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>
        <Property name="ssl_protocols">protocolList</Property>
        <Property name="ssl_ciphers">cipherList</Property>
    </Properties>
</VirtualHost>

Lista właściwości, które możesz ustawić, zależy od tego, czy używasz Edge w chmurze lub Edge dla chmury prywatnej. Jeśli używasz Edge w chmurze prywatnej, lista dostępne właściwości zależą też od wersji Edge. Pełny opis wszystkich właściwości hosta wirtualnego znajdziesz w tych sekcjach Informacje o właściwościach hosta wirtualnego

Więcej informacji o tworzeniu hostów wirtualnych na potrzeby konkretnej wersji Edge znajdziesz tutaj: