Host wirtualny na Edge określa domeny i porty routera Edge, na których jest dostępny serwer proxy interfejsu API, a także URL, którego aplikacje używają, aby uzyskać dostęp do serwera proxy interfejsu API. Host wirtualny określa też, czy dostęp do serwera proxy interfejsu API jest możliwy przez protokół HTTP czy zaszyfrowany protokół HTTPS.
W ramach procesu wdrażania Edge musisz utworzyć organizację, środowisko i hosta wirtualnego. Edge udostępnia polecenie setup-org
, które ułatwia ten proces nowym użytkownikom.
Podczas tworzenia hosta wirtualnego musisz podać te informacje:
- Nazwa hosta wirtualnego, którego używasz, aby się do niego odwoływać w serwerach proxy interfejsu API.
- Port routera dla hosta wirtualnego. Zwykle te porty zaczynają się od 9001 i zwiększają się o 1 dla każdego nowego hosta wirtualnego.
- Alias hosta hosta wirtualnego. Zwykle jest to nazwa DNS hosta wirtualnego.
Na przykład w pliku konfiguracyjnym przekazanym do polecenia setup-org
możesz podać te informacje jako:
# Specify virtual host information VHOST_PORT=9001 VHOST_NAME=default # If you have a DNS entry for the virtual host VHOST_ALIAS=myapis.apigee.net
Podczas określania serwera proxy interfejsu API, który obsługuje żądanie, router Edge porównuje nagłówek Host
przychodzącego żądania z listą dostępnych aliasów hostów. Wysyłając żądanie do hosta wirtualnego, podaj nazwę domeny pasującą do aliasu hosta wirtualnego lub adres IP routera i nagłówek Host
zawierający alias hosta.
Jeśli na przykład utworzysz hosta wirtualny z aliasem myapis.apigee.net na porcie 9001, żądanie cURL do interfejsu API poprzez ten host wirtualny może wyglądać tak:
- Jeśli masz wpis DNS dla domeny myapis.apigee.net:
curl http://myapis.apigee.net:9001/proxy-base-path/resource-path
- Jeśli nie masz wpisu DNS dla domeny myapis.apigee.net:
curl http://routerIP:9001/proxy-base-path/resource-path -H 'Host: myapis.apigee.net'
W tym formularzu podajesz adres IP routera i przekazujesz alias hosta w nagłówku
Host
.
Opcje dostępne, gdy nie ma wpisu DNS dla hosta wirtualnego
Jeśli nie masz wpisu DNS, możesz ustawić alias hosta na adres IP routera i port hosta wirtualnego (routerIP:port). Na przykład:
VHOST_ALIAS=192.168.1.31:9001
Następnie utwórz polecenie curl w formularzu poniżej:
curl http://routerIP:9001/proxy-base-path/resource-path
Ta opcja jest preferowana, ponieważ dobrze działa z interfejsem Edge.
Jeśli masz wiele routerów, dodaj alias hosta dla każdego routera, który określa adres IP każdego routera i port hosta wirtualnego:
# Specify the IP and port of each router as a space-separated list enclosed in quotes: # VHOST_ALIAS="192.168.1.31:9001 192.168.1.32:9001"
Alias hosta możesz też ustawić na wartość taką jak temp.hostalias.com
.
Następnie w każdym żądaniu musisz przekazywać nagłówek Host
:
curl -v http://routerIP:9001/proxy-base-path/resource-path -H 'host: temp.hostalias.com'
Możesz też dodać alias hosta do pliku /etc/hosts
. Na przykład dodaj ten wiersz do /etc/hosts
:
192.168.1.31 temp.hostalias.com
Następnie możesz wysłać żądanie tak, jakby był wpis DNS:
curl -v http://myapis.apigee.net:9001/proxy-base-path/resource-path