Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację
Apigee X. info
Klient Cloud z płatnym kontem i wszyscy klienci Edge for Private Cloud mogą utworzyć hosta wirtualnego w organizacji. Użytkownik tworzący hosta wirtualnego musi mieć rolę administratora organizacji lub rolę niestandardową z uprawnieniami do modyfikowania hosta wirtualnego. Użytkownicy z innymi rolami nie mają uprawnień do tworzenia hostów wirtualnych.
Obejrzyj film wprowadzający do hostów wirtualnych.
Tworzenie hosta wirtualnego
Aby utworzyć hosta wirtualnego, wykonaj te podstawowe czynności. Rzeczywista procedura zależy od tego, czy jesteś klientem Cloud czy Private Cloud, oraz czy włączasz protokół TLS:
- Utwórz wpis DNS i rekord CNAME dla domeny publicznej.
- Jeśli włączasz protokół TLS na hoście wirtualnym:
- Utwórz i skonfiguruj magazyn kluczy, wykonując czynności opisane w artykule: Magazyny kluczy i magazyny zaufania.
- Prześlij certyfikat i klucz do magazynu kluczy. Upewnij się, że nazwa domeny określona w certyfikacie jest zgodna z aliasem hosta, którego chcesz używać w przypadku hosta wirtualnego.
- Utwórz odwołanie do magazynu kluczy za pomocą interfejsu Edge lub interfejsu API. Odwołanie
określa nazwę magazynu kluczy i typ odwołania jako
KeyStore. Więcej informacji o tworzeniu i modyfikowaniu odwołań znajdziesz w artykule Praca z odwołaniami. - Jeśli używasz dwukierunkowego protokołu TLS, utwórz magazyn zaufanych certyfikatów, prześlij certyfikat, i utwórz odwołanie do magazynu zaufanych certyfikatów. Utwórz magazyn zaufania, wykonując czynności opisane tutaj: Magazyny kluczy i magazyny zaufania.
- Utwórz hosta wirtualnego za pomocą interfejsu API Create a Virtual Host. Jeśli włączasz protokół TLS, pamiętaj, aby określić prawidłowe odwołanie do magazynu kluczy, odwołanie do magazynu zaufanych certyfikatów i alias klucza.
- Jeśli masz jakieś istniejące serwery proxy interfejsu API, dodaj do nich hosta wirtualnego.
Host wirtualny jest automatycznie dodawany do wszystkich nowych serwerów proxy interfejsu API. Więcej informacji znajdziesz w artykule
Konfigurowanie serwera proxy interfejsu API pod kątem używania hosta wirtualnego.
Po zaktualizowaniu serwera proxy interfejsu API pod kątem używania hosta wirtualnego oraz utworzeniu wpisu DNS i rekordu CNAME dla aliasu hosta możesz uzyskać dostęp do serwera proxy interfejsu API w sposób opisany poniżej:
https://api.myCompany.com/v1/project-base-path/resource-path
Na przykład:
https://api.myCompany.com/v1/weather/forecastrss?w=12797282
Tworzenie hosta wirtualnego za pomocą interfejsu API lub interfejsu użytkownika
Możesz utworzyć hosta wirtualnego za pomocą interfejsu Edge API lub interfejsu Edge.
Większość przykładów poniżej korzysta z interfejsu Edge API. Aby otworzyć interfejs użytkownika, w którym możesz tworzyć, modyfikować i usuwać hosty wirtualne:
- Zaloguj się na apigee.com/edge.
Klienci Edge for Private Cloud używają
http://ms-ip:9000(lokalnie), gdzie ms-ip to adres IP lub nazwa DNS węzła serwera zarządzania. - Na lewym pasku nawigacyjnym kliknij Admin > Hosty wirtualne.
- Wybierz środowisko, np. prod lub test.
Wyświetlą się hosty wirtualne zdefiniowane dla tego środowiska. - Aby utworzyć hosta wirtualnego, kliknij + Host wirtualny , a aby go edytować, kliknij nazwę istniejącego hosta wirtualnego.
Tworzenie hosta wirtualnego dla protokołu HTTP
Klienci Edge for Private Cloud mogą utworzyć hosta wirtualnego za pomocą protokołu HTTP.
Aby utworzyć hosta wirtualnego, który nie obsługuje protokołu TLS, utwórz obiekt XML definiujący hosta wirtualnego. Na przykład ten obiekt XML definiuje hosta wirtualnego, który używa protokołu HTTP:
<VirtualHost name="myVHost">
<HostAliases>
<HostAlias>api.myCompany.com</HostAlias>
</HostAliases>
<Interfaces/>
<Port>80</Port>
</VirtualHost>W tej definicji:
- W polu name (nazwa) wpisz myVHost. Użyj tej nazwy, aby odwoływać się do hosta wirtualnego w serwerze proxy interfejsu API lub w wywołaniu interfejsu API.
- W polu host alias (alias hosta) wpisz api.myCompany.com. Jest to domena publiczna używana do uzyskiwania dostępu do interfejsów API zgodnie z definicją DNS i rekordem CNAME record.
- W polu port (port) wpisz 80. Jeśli to pole zostanie pominięte, domyślnie port zostanie ustawiony na 443.
W hoście wirtualnym możesz ustawić dodatkowe właściwości. Informacje o wszystkich właściwościach znajdziesz w artykule Informacje o właściwościach hosta wirtualnego.
Jeśli masz jakieś istniejące serwery proxy interfejsu API, dodaj do nich hosta wirtualnego<HTTPConnection>. Host wirtualny jest automatycznie dodawany do wszystkich nowych serwerów proxy interfejsu API.
Więcej informacji znajdziesz w artykule Konfigurowanie serwera proxy interfejsu API pod kątem używania hosta wirtualnego.
Jeśli utworzysz nowy serwer proxy interfejsu API, który nie powinien być dostępny przez określonego hosta wirtualnego,
musisz edytować serwer proxy interfejsu API, aby usunąć tego hosta wirtualnego z jego ProxyEndpoint.
Następnie możesz uzyskać dostęp do serwera proxy interfejsu API przez tego hosta wirtualnego, wysyłając żądanie do:
http://api.myCompany.com/proxy-base-path/resource-path https://api.myCompany.com/proxy-base-path/resource-path
Utwórz hosta wirtualnego za pomocą interfejsu API Create a Virtual Host:
curl -X POST -H "Content-Type:application/xml" \
http://ms-IP:8080/v1/o/org_name/environments/env_name/virtualhosts \
-d '<VirtualHost name="myVHost">
<HostAliases>
<HostAlias>api.myCompany.com</HostAlias>
</HostAliases>
<Interfaces/>
<Port>80</Port>
</VirtualHost>' \
-u sysAdminEmail:passwordTworzenie hosta wirtualnego dla jednokierunkowego protokołu TLS
Ten obiekt XML definiuje hosta wirtualnego dla jednokierunkowego protokołu TLS:
<VirtualHost name="myTLSVHost">
<HostAliases>
<HostAlias>api.myCompany.com</HostAlias>
</HostAliases>
<Port>443</Port>
<SSLInfo>
<Enabled>true</Enabled>
<ClientAuthEnabled>false</ClientAuthEnabled>
<KeyStore>ref://myTestKeystoreRef</KeyStore>
<KeyAlias>myKeyAlias</KeyAlias>
</SSLInfo>
</VirtualHost>W tej definicji włączasz protokół TLS, ustawiając element <Enable> na wartość true, a za pomocą elementów <KeyStore> i <KeyAliase> określasz magazyn kluczy i alias klucza używane przez połączenie TLS.
Więcej informacji o korzystaniu z protokołu TLS znajdziesz w artykule TLS/SSL.
Określanie sposobu określania nazwy magazynu kluczy i magazynu zaufanych certyfikatów w hoście wirtualnym
Podczas konfigurowania hosta wirtualnego pod kątem obsługi protokołu TLS określasz magazyn kluczy za pomocą odwołania. Odwołanie to zmienna, która zawiera nazwę magazynu kluczy lub magazynu zaufanych certyfikatów. Nie określa się bezpośrednio nazwy magazynu kluczy ani magazynu zaufanych certyfikatów, jak pokazano poniżej:
<SSLInfo>
<Enabled>true</Enabled>
<ClientAuthEnabled>false</ClientAuthEnabled>
<KeyStore>ref://myTestKeystoreRef</KeyStore>
<KeyAlias>myKeyAlias</KeyAlias>
</SSLInfo>Zaletą używania odwołania jest to, że możesz zmienić jego wartość, aby zmienić magazyn kluczy używany przez hosta wirtualnego. Zwykle dzieje się tak, ponieważ certyfikat w bieżącym magazynie kluczy wkrótce wygaśnie. Zmiana wartości odwołania nie wymaga ponownego uruchamiania routera Edge. Więcej informacji o tworzeniu i modyfikowaniu odwołań znajdziesz w artykule Praca z odwołaniami.
Możesz używać tylko odwołania do magazynu kluczy i magazynu zaufanych certyfikatów. Nie możesz używać odwołania do aliasu. Gdy zmieniasz odwołanie do magazynu kluczy, upewnij się, że nazwa aliasu certyfikatu jest ta sama jak w starym magazynie kluczy.
Ograniczenia dotyczące używania odwołań do magazynów kluczy i magazynów zaufania
Podczas używania odwołań do magazynów kluczy i magazynów zaufania musisz wziąć pod uwagę to ograniczenie:
- Odwołań do magazynów kluczy i magazynów zaufanych certyfikatów możesz używać w hostach wirtualnych tylko wtedy, gdy obsługujesz SNI i kończysz protokół SSL na routerach Apigee.
- Jeśli masz system równoważenia obciążenia przed routerami Apigee i kończysz protokół TLS na systemie równoważenia obciążenia, nie możesz używać odwołań do magazynów kluczy i magazynów zaufanych certyfikatów w hostach wirtualnych.
Tworzenie hosta wirtualnego dla dwukierunkowego protokołu TLS
Aby włączyć dwukierunkowy protokół TLS, ustaw element <ClientAuthEnabled> na wartość
true, i określ magazyn zaufanych certyfikatów za pomocą
odwołania z elementem <TrustStore>. Magazyn zaufanych certyfikatów zawiera wymagany wystawca certyfikatu klienta i łańcuch urzędu certyfikacji. Klient
musi też być prawidłowo skonfigurowany pod kątem dwukierunkowego protokołu TLS.
Aby utworzyć hosta wirtualnego dla dwukierunkowego protokołu TLS, utwórz obiekt XML definiujący hosta wirtualnego:
<VirtualHost name="myTLSVHost">
<HostAliases>
<HostAlias>api.myCompany.com</HostAlias>
</HostAliases>
<Port>443</Port>
<SSLInfo>
<Enabled>true</Enabled>
<ClientAuthEnabled>true</ClientAuthEnabled>
<KeyStore>ref://myTestKeystoreRef</KeyStore>
<KeyAlias>myKeyAlias</KeyAlias>
<TrustStore>ref://myTestTruststoreRef</TrustStore>
</SSLInfo>
</VirtualHost>W tej definicji:
- Włącz dwukierunkowy protokół TLS, ustawiając
<ClientAuthEnabled>na wartość true. - Określ odwołanie do magazynu zaufanych certyfikatów za pomocą elementu
<TrustStore>. Magazyn zaufanych certyfikatów zawiera wymagany wystawca certyfikatu klienta i łańcuch urzędu certyfikacji.
Więcej informacji o korzystaniu z protokołu TLS znajdziesz w artykule TLS/SSL.
Modyfikowanie hosta wirtualnego
Klient Cloud z płatnym kontem i wszyscy klienci Edge for Private Cloud mogą użyć interfejsu API Update a Virtual Host, aby zaktualizować hosta wirtualnego. Ten interfejs API umożliwia ustawienie wszystkich właściwości hosta wirtualnego opisanych w artykule Informacje o właściwościach hosta wirtualnego.
Zaktualizuj hosta wirtualnego za pomocą interfejsu API Update a Virtual Host. Gdy używasz interfejsu API, w treści żądania musisz podać pełną definicję hosta wirtualnego, a nie tylko elementy, które chcesz zmienić.
W tym przykładzie ustawiasz wartość właściwości proxy_read_timeout:
curl -X PUT -H "Content-Type:application/xml" \
https://api.enterprise.apigee.com/v1/o/org_name/e/env_name/virtualhosts/vhost_name \
-d '<VirtualHost name="myTLSVHost">
<HostAliases>
<HostAlias>api.myCompany.com</HostAlias>
</HostAliases>
<Port>443</Port>
<SSLInfo>
<Enabled>true</Enabled>
<ClientAuthEnabled>false</ClientAuthEnabled>
<KeyStore>ref://myTestKeystoreRef</KeyStore>
<KeyAlias>myKeyAlias</KeyAlias>
</SSLInfo>
<Properties>
<Property name="proxy_read_timeout">50</Property>
</Properties>
</VirtualHost>' \
-u orgAdminEmail:passwordUsuwanie hosta wirtualnego
Zanim usuniesz hosta wirtualnego ze środowiska, musisz zaktualizować wszystkie serwery proxy interfejsu API, które odwołują się do tego hosta wirtualnego, aby usunąć odwołanie. Więcej informacji znajdziesz w artykule Konfigurowanie serwera proxy interfejsu API pod kątem używania hosta wirtualnego.
Usuń hosta wirtualnego za pomocą interfejsu API Delete a Virtual Host:
curl -X DELETE \ https://api.enterprise.apigee.com/v1/o/org_name/e/env_name/virtualhosts/vhost_name \ -u orgAdminEmail:password
Wyświetlanie informacji o hoście wirtualnym
Wyświetl informacje o hostach wirtualnych zdefiniowanych w środowisku, jak opisano poniżej.
Edge
Aby wyświetlić informacje o hoście wirtualnym za pomocą interfejsu Edge:
- Zaloguj się na apigee.com/edge.
Klienci Edge for Private Cloud używają
http://ms-ip:9000(lokalnie), gdzie ms-ip to adres IP lub nazwa DNS węzła serwera zarządzania. - Na lewym pasku nawigacyjnym kliknij Admin > Hosty wirtualne.
- Wybierz środowisko, np. prod lub test.
Wyświetlą się hosty wirtualne zdefiniowane dla tego środowiska. Jeśli host wirtualny jest skonfigurowany pod kątem używania magazynu kluczy lub magazynu zaufania, kliknij Pokaż , aby wyświetlić więcej informacji.
Jeśli host wirtualny jest skonfigurowany pod kątem używania protokołu TLS/SSL, obok nazwy hosta wirtualnego wyświetli się ikona blokady. Oznacza to, że certyfikat, klucz i łańcuch certyfikatów TLS/SSL zostały przesłane do Edge i powiązane z hostem wirtualnym. Aby wyświetlić informacje o dostępnych certyfikatach:
- Na lewym pasku nawigacyjnym kliknij Admin > Środowisko > Magazyny kluczy TLS.
- Wybierz środowisko (zwykle
prodlubtest). - Rozwiń magazyny kluczy, aby wyświetlić certyfikat.
Klasyczny Edge (Private Cloud)
Aby wyświetlić informacje o hoście wirtualnym za pomocą klasycznego interfejsu Edge:
- Zaloguj się na
http://ms-ip:9000, gdzie ms-ip to adres IP lub nazwa DNS węzła serwera zarządzania. - Na lewym pasku nawigacyjnym kliknij Admin > Hosty wirtualne.
- Wybierz środowisko, np. prod lub test.
- Kliknij kartę Hosty wirtualne.
Wyświetlą się hosty wirtualne zdefiniowane dla tego środowiska. Jeśli host wirtualny jest skonfigurowany pod kątem używania magazynu kluczy lub magazynu zaufanych certyfikatów, kliknij Pokaż , aby wyświetlić więcej informacji.

Jeśli host wirtualny jest skonfigurowany pod kątem używania protokołu TLS/SSL, obok nazwy hosta wirtualnego wyświetli się ikona blokady. Oznacza to, że certyfikat, klucz i łańcuch certyfikatów TLS/SSL zostały przesłane do Edge i powiązane z hostem wirtualnym. Aby wyświetlić informacje o dostępnych certyfikatach:
- Na górnym pasku nawigacyjnym kliknij Admin > Certyfikaty TLS.
- Wybierz środowisko (zwykle
prodlubtest). - Rozwiń magazyny kluczy, aby wyświetlić certyfikat.
Wyświetlanie hosta wirtualnego za pomocą interfejsu Edge API
Do wyświetlania informacji o hostach wirtualnych możesz też używać interfejsów Edge API. Na przykład interfejs API List Virtual Hosts zwraca listę wszystkich hostów wirtualnych:
curl -X GET -H "accept:application/xml" \
https://api.enterprise.apigee.com/v1/o/org_name/environments/env_name/virtualhosts \
-u orgAdminEmail:pWordGdzie orgAdminEmail:pWord to nazwa użytkownika i hasło administratora organizacji, a org_name/env_name określają organizację i środowisko zawierające hosta wirtualnego. Przykładowa odpowiedź:
[ "default", "secure" ]
Aby wyświetlić informacje o konkretnym hoście wirtualnym, użyj interfejsu API Get Virtual Host:
curl -X GET -H "accept:application/xml" \
https://api.enterprise.apigee.com/v1/o/org_name/environments/env_name/virtualhosts/vhost_name \
-u orgAdminEmail:pWordGdzie vhost_name to nazwa hosta wirtualnego. Możesz na przykład określić vhost_name jako "secure", aby wyświetlić konfigurację domyślnego bezpiecznego hosta wirtualnego utworzonego przez Apigee:
<VirtualHost name="secure">
<HostAliases>
<HostAlias>api.myCompany.com</HostAlias>
</HostAliases>
<Port>443</Port>
<Properties/>
<Interfaces/>
<RetryOptions/>
<SSLInfo>
<ClientAuthEnabled>false</ClientAuthEnabled>
<Enabled>true</Enabled>
<KeyAlias>freetrial</KeyAlias>
<KeyStore>ref://freetrial</KeyStore>
<IgnoreValidationErrors>false</IgnoreValidationErrors>
</SSLInfo>
</VirtualHost>Konfigurowanie serwera proxy interfejsu API pod kątem używania hosta wirtualnego
Gdy tworzysz nowy serwer proxy interfejsu API, Edge automatycznie konfiguruje go tak, aby używał wszystkich dostępnych hostów wirtualnych w organizacji. Żądanie do serwera proxy interfejsu API przez hosta wirtualnego ma postać:
https://host-alias/proxy-base-path/resource-path
Gdzie:
- host-alias to zwykle nazwa DNS hosta wirtualnego.
- proxy-base-path jest definiowany podczas tworzenia serwera proxy interfejsu API i jest unikalny dla każdego serwera proxy interfejsu API.
- resource-path to ścieżka do zasobu dostępnego przez serwer proxy interfejsu API.
Kontrolowanie hostów wirtualnych używanych przez serwer proxy interfejsu API
W konfiguracji XML serwera proxy interfejsu API używasz tagu virtualhost, aby określić
nazwę hosta wirtualnego powiązanego z serwerem proxy interfejsu API:
<HTTPProxyConnection> <BasePath>/v1/my/proxy/basepath</BasePath> <VirtualHost>secure</VirtualHost> <VirtualHost>default</VirtualHost> </HTTPProxyConnection>
Na przykład <VirtualHost>secure</VirtualHost> oznacza
że klient może wywołać serwer proxy interfejsu API za pomocą aliasu hosta „secure”.
Zwykle modyfikujesz hosty wirtualne powiązane z serwerem proxy interfejsu API, gdy:
- Tworzysz nowego hosta wirtualnego i masz już serwery proxy interfejsu API. Musisz edytować wszystkie istniejące serwery proxy interfejsu API , aby dodać nowego hosta wirtualnego.
- Tworzysz nowy serwer proxy interfejsu API, który nie powinien być dostępny przez określonego hosta wirtualnego. Musisz edytować serwer proxy interfejsu API, aby usunąć tego hosta wirtualnego z jego definicji.
Aby zmodyfikować hosty wirtualne powiązane z serwerem proxy interfejsu API:
-
Otwórz edytor serwera proxy interfejsu API, jak opisano poniżej.
Edge
Aby otworzyć edytor serwera proxy interfejsu API za pomocą interfejsu Edge:
- Zaloguj się na apigee.com/edge.
Klienci Edge for Private Cloud używają
http://ms-ip:9000(lokalnie), gdzie ms-ip to adres IP lub nazwa DNS węzła serwera zarządzania. - Na lewym pasku nawigacyjnym kliknij Develop > API proxies.
- Na liście wybierz serwer proxy interfejsu API, który chcesz edytować.
Klasyczny Edge (Private Cloud)
Aby otworzyć edytor serwera proxy interfejsu API za pomocą klasycznego interfejsu Edge:
- Zaloguj się na
http://ms-ip:9000, gdzie ms-ip to adres IP lub nazwa DNS węzła serwera zarządzania. - Na górnym pasku nawigacyjnym kliknij APIs > API proxies.
- Na liście wybierz serwer proxy interfejsu API, który chcesz edytować.
- Zaloguj się na apigee.com/edge.
- Kliknij kartę Develop.
- W sekcji Proxy Endpoints (Punkty końcowe proxy) kliknij default (domyślny).
- W obszarze kodu:
- Usuń wszystkie elementy
<VirtualHost>dla hostów wirtualnych nieobsługiwanych przez proxy interfejsu API. - Dodaj nowy element
<VirtualHost>z nazwą nowego hosta wirtualnego. Jeśli na przykład nowy host wirtualny ma nazwę MyVirtualHost, dodaj ten tag:
<HTTPProxyConnection> <BasePath>/v1/my/proxy/basepath</BasePath> <VirtualHost>default</VirtualHost> <VirtualHost>secure</VirtualHost> <VirtualHost>MyVirtualHost</VirtualHost> </HTTPProxyConnection>
- Usuń wszystkie elementy
- Zapisz serwer proxy interfejsu API. Jeśli serwer proxy interfejsu API został wdrożony, jego zapisanie spowoduje ponowne wdrożenie z nowym ustawieniem.
Ustawianie podstawowego adresu URL wyświetlanego przez interfejs Edge dla serwera proxy interfejsu API
Interfejs Edge wyświetla adres URL serwera proxy interfejsu API na podstawie ustawień hosta wirtualnego odpowiadającego miejscu wdrożenia serwera proxy. Wyświetlanie może obejmować numer portu routera hosta wirtualnego.
W większości przypadków adres URL wyświetlany w interfejsie Edge jest prawidłowym adresem URL do wysyłania żądań zewnętrznych do serwera proxy. W przypadku niektórych konfiguracji wyświetlany adres URL jest jednak nieprawidłowy. Na przykład każda z tych konfiguracji może spowodować, że wyświetlany adres URL nie będzie odpowiadać rzeczywistemu adresowi URL używanemu do wysyłania żądań zewnętrznych do serwera proxy:
- Zakończenie SSL następuje w systemie równoważenia obciążenia.
- Mapowanie portów odbywa się między systemem równoważenia obciążenia a routerami Apigee.
- System równoważenia obciążenia skonfigurowany z przepisywaniem ścieżek.
Edge obsługuje atrybut hosta wirtualnego o nazwie <BaseUrl>, który umożliwia
zastąpienie adresu URL wyświetlanego przez interfejs Edge. Oto przykład pokazujący obiekt hosta wirtualnego
z atrybutem <BaseUrl>.
W tym przykładzie w interfejsie Edge wyświetla się wartość „http://myCo.com”:
<VirtualHost name="myTLSVHost">
<HostAliases>
<HostAlias>api.myCompany.com</HostAlias>
</HostAliases>
<BaseUrl>http://myCo.com</BaseUrl>
<Port>443</Port>
<SSLInfo>
<Enabled>true</Enabled>
<ClientAuthEnabled>false</ClientAuthEnabled>
<KeyStore>ref://myTestKeystoreRef</KeyStore>
<KeyAlias>myKeyAlias</KeyAlias>
</SSLInfo>
</VirtualHost>Pamiętaj, że wartość <BaseUrl> musi zawierać protokół (czyli "http://" lub
"https://").
Jeśli <BaseUrl> nie jest ustawiony, domyślny adres URL renderowany przez interfejs Edge będzie
wyglądać tak: „api.myCompany.com”, a rzeczywisty alias hosta to „http://myCo.com”.