Oglądasz dokumentację Apigee Edge.
Wyświetl dokumentację Apigee X.
Router w Edge obsługuje cały przychodzący ruch API. Oznacza to, że wszystkie żądania HTTP i HTTPS wysyłane do serwera proxy interfejsu API są najpierw obsługiwane przez router graniczny Edge.
Host wirtualny pozwala hostować wiele nazw domen na serwerze. W przypadku Edge serwer odpowiada routerowi brzegowemu. Dzięki zdefiniowaniu wielu hostów wirtualnych na routerze może on obsługiwać żądania API do wielu nazw domen.
Host wirtualny na brzegu definiuje protokół dostępu (HTTP lub HTTPS), otwarty port routera i alias hosta. Aliasem hosta jest zwykle nazwa domeny DNS zmapowana na adres IP routera.
Na przykład na ilustracji widać router z 2 definicjami hostów wirtualnych:
Pierwszy host wirtualny obsługuje żądania HTTPS w domenie domainName1, a drugi obsługuje żądania HTTP z domeny domainName2.
W przypadku żądania wysyłanego do interfejsu API serwera proxy router porównuje nagłówek Host
przychodzącego żądania z listą aliasów hosta zdefiniowanych przez wszystkie hosty wirtualne, aby ustalić, który host wirtualny obsługuje żądanie.
Informacje o definicjach hosta wirtualnego
Hosty wirtualne zawierają te informacje:
- Wewnętrzna nazwa hosta wirtualnego. Ta nazwa pozwala odwoływać się do hosta wirtualnego na serwerach proxy interfejsu API i podczas konfigurowania hosta wirtualnego.
- Alias hosta hosta wirtualnego. Zwykle aliasem hosta jest nazwa domeny DNS zmapowana na adres IP routera. Nagłówek
Host
żądań serwera proxy interfejsu API musi zawierać alias hosta hosta wirtualnego. - Otwarty port routera.
- Określa, czy protokół TLS (dostęp HTTPS) jest włączony.
Podczas tworzenia hosta wirtualnego podaj na przykład te informacje:
- name = myvhost
- alias hosta = apis.acme.com
- port = 443
- Protokół TLS jest włączony
Na podstawie powyższego ustawienia hosta wirtualnego żądanie serwera proxy interfejsu API używa formularza:
https://apis.acme.com/{proxy-base-path}/{resource-path}
gdzie:
- Parametr {proxy-base-path} jest zdefiniowany podczas tworzenia serwera proxy interfejsu API i jest unikalny dla każdego serwera proxy interfejsu API.
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
), 2 hosty wirtualne w każdym środowisku (domyślne i bezpieczne) oraz rekordy DNS dla każdego aliasu hosta.
Alias hosta każdego hosta wirtualnego dostarczanego przez Apigee zawiera nazwę organizacji i środowiska, jak pokazano w tej tabeli:
Środowisko | Nazwa hosta wirtualnego | Alias hosta | Port | Włączono TLS |
---|---|---|---|---|
produkcyjne | domyślny | {org-name}-prod.apigee.net |
80 | Nie |
Bezpieczny | {org-name}-prod.apigee.net |
443 | Tak | |
test | domyślny | {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
to „myorg-prod.apigee.net
”. Dlatego w celu uzyskania dostępu do serwera proxy interfejsu API w tej organizacji możesz 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}
Płatne abonamenty Apigee: nazwa domeny zawierająca „apigee.net” może nie być przydatna dla Twoich klientów. Za pomocą wpisu DNS i rekordu CNAME możesz zmapować nazwę domeny na organizację w Edge. Musisz też utworzyć hosta wirtualnego z aliasem hosta ustawionym na tę nazwę domeny. Umożliwia to deweloperom dostęp do interfejsu API za pomocą domeny specyficznej dla Twojej firmy.
Oto przykład niestandardowej domeny w Edge:
https://apis.acme.com/{proxy-base-path}/{resource-path}
Informacje o hostach wirtualnych w Edge dla Private Cloud
Podczas instalowania Apigee Edge dla chmury prywatnej nie są dla Ciebie tworzone żadne domyślne organizacje, środowiska ani hosty wirtualne. Po zakończeniu instalacji Edge musisz najpierw utworzyć organizację, środowisko lub hosta wirtualnego w procesie rejestracji.
Aby przeprowadzić wprowadzenie, uruchom to polecenie w węźle brzegowego serwera zarządzania:
/opt/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile
gdzie configFile zawiera informacje potrzebne do utworzenia użytkownika, organizacji, środowiska i hosta wirtualnego.
Tworzysz na przykład:
- Wybrany przez Ciebie użytkownik, który będzie pełnił funkcję administratora organizacji
- Organizacja o nazwie
example
- Środowisko w organizacji o nazwie
prod
- Host wirtualny w środowisku
default
, który umożliwia dostęp HTTP przez port 9001 - Alias hosta nazwy DNS używanej w celu uzyskania dostępu do routera lub adresu IP routera i portu hosta wirtualnego w formie
IP:9001
.
Później możesz dodać dowolną liczbę organizacji, środowisk i hostów wirtualnych do lokalnej wersji Edge. Aby dowiedzieć się więcej, zobacz:
Hosty wirtualne są otwierane na routerze Edge. W związku z tym upewnij się, że określony przez Ciebie port hosta wirtualnego jest otwarty w routerze. Aby otworzyć port, możesz użyć polecenia w formularzu poniżej:
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9001 -j ACCEPT --verbose
Po uruchomieniu tego polecenia możesz uzyskać dostęp do interfejsów API za pomocą adresu URL w postaci:
http://<router-ip>:9001/{proxy-base-path}/{resource-path}
Zazwyczaj nie udostępniasz interfejsów API klientom z adresem IP i numerem portu. Zamiast tego definiujesz wpis DNS dla routera i portu. Na przykład:
http://myAPI.myCo.com/{proxy-base-path}/{resource-path}
Podczas definiowania wpisu DNS musisz też utworzyć hosta wirtualnego z aliasem hosta zgodnym z nazwą domeny wpisu DNS. W powyższym przykładzie podczas tworzenia hosta wirtualnego należy określić alias hosta myAPI.myCo.com.
Informacje o aliasach hosta i nazwach DNS
Jedna z usług ustawionych dla hosta wirtualnego to alias hosta. Aliasem hosta jest zwykle nazwa DNS hosta wirtualnego. Sposób ustawiania aliasu hosta zależy od typu instalacji Edge: Cloud lub Private Cloud.
Hostuj aliasy i nazwy DNS w Edge dla chmury
Gdy po raz pierwszy tworzysz organizację Edge w Cloud Edge, Apigee automatycznie tworzy 2 środowiska (test
i prod
), 2 hosty wirtualne w każdym środowisku (domyślne i bezpieczne) oraz rekordy DNS dla każdego hosta wirtualnego.
Alias hosta wirtualnego zawiera nazwę organizacji i środowiska. Żądanie wysł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 chcesz tworzyć hosty wirtualne, które używają nazwy Twojej domeny, zamiast domyślnej domeny apigee.net
. Aby to zrobić, musisz najpierw utworzyć własny wpis DNS i rekord CNAME.
Poniższa ilustracja przedstawia typową konfigurację przetwarzania interfejsu API przez Edge:
W tym przykładzie:
- api.acme.com jest odpowiednią nazwą domeny.
- Definiujesz wpis DNS i rekord CNAME tak, aby wskazywał api.acme.com na acme-prod.apigee.net.
- Żądanie zawiera nagłówek
Host
, którego router używa do określenia hosta wirtualnego obsługującego żądanie.
W tym przykładzie w definicji hosta wirtualnego podasz te informacje:
- name = myvhost
- alias hosta = apis.acme.com
- port = 443
- Włącz dostęp przez TLS
Zobacz Konfigurowanie hostów wirtualnych dla chmury, aby dowiedzieć się więcej.
Aliasy hostów i nazwy DNS w Edge dla Private Cloud
Podobnie jak w przypadku Edge dla chmury tworzysz hosty wirtualne, które wykorzystują własną nazwę domeny dla aliasu hosta. Następnie musisz utworzyć własny wpis DNS i rekord CNAME, aby uzyskać dostęp do tych hostów wirtualnych.
Jedną z różnic między chmurą a chmurą prywatną jest to, że Cloud Apigee automatycznie utworzył nazwy DNS dla Twoich organizacji w formacie:
- name=default:
http://{org-name}-{env-name}.apigee.net
(port 80) - name=secure:
https://{org-name}-{env-name}.apigee.net
(port 443)
W Edge dla chmury prywatnej musisz utworzyć wpisy DNS na adres IP i port routera.
Na przykład podaj te informacje w definicji hosta wirtualnego:
- name = myvhost
- alias hosta = apis.acme.com
- port = 9001
- Włącz dostęp przez TLS
Poniższa ilustracja przedstawia typową konfigurację przetwarzania interfejsu API przez Edge:
W tym przykładzie:
- api.acme.com jest odpowiednią nazwą domeny.
- Rekord DNS i rekord CNAME powinny wskazywać adres api.acme.com na adres IP i port routera.
- Żądanie zawiera nagłówek
Host
, którego router używa do określenia hosta wirtualnego obsługującego żądanie.
Więcej informacji znajdziesz w artykule Konfigurowanie hostów wirtualnych dla chmury prywatnej.
Aliasy i symbole wieloznaczne hosta
W aliasie hosta możesz umieścić symbol wieloznaczny „*”. Symbol wieloznaczny „*” można umieścić tylko na początku (poprzedzając pierwszy znak „.”) aliasu hosta. Nie można go łączyć z innymi znakami.
Poniżej znajdziesz przykład prawidłowego aliasu hosta z symbolem wieloznacznym:
*.example.com
Te przykłady są nieprawidłowe:
www.*.example.com w*.example.com
Użycie symbolu wieloznacznego w aliasie hosta wirtualnego pozwala serwerom proxy API obsługiwać wywołania adresowane do wielu subdomen, takich jak alpha.example.com
, beta.example.com
lub live.example.com
. Użycie symbolu wieloznacznego pozwala też zmniejszyć liczbę hostów wirtualnych w środowisku, aby nie przekraczać limitów usług, ponieważ host wirtualny z symbolem wieloznacznym jest liczony tylko jako jeden host wirtualny.
Certyfikat TLS hosta wirtualnego musi zawierać pasującą symbol wieloznaczny w nazwie CN certyfikatu.
Na przykład: *.example.com
.
Właściwości hosta wirtualnego
W Edge host wirtualny jest reprezentowany przez obiekt XML. Na przykład taki 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żna ustawić, zależy od tego, czy korzystasz z Edge w chmurze czy Edge w chmurze prywatnej. Jeśli używasz Edge dla chmury prywatnej, lista dostępnych właściwości zależy też od wersji Edge. Pełny opis wszystkich właściwości hosta wirtualnego znajdziesz w dokumentacji właściwości hosta wirtualnego.
Więcej informacji o tworzeniu hostów wirtualnych dla konkretnej wersji Edge znajdziesz w tych artykułach: