Konfigurowanie hosta wirtualnego

Edge for Private Cloud w wersji 4.17.05

Host wirtualny na urządzeniu Edge definiuje domeny i porty routera brzegowego, na których znajduje się serwer proxy API ujawniony, a co za tym idzie, adres URL używany przez aplikacje do uzyskiwania dostępu do serwera proxy interfejsu API. Host wirtualny też określa, czy dostęp do serwera proxy interfejsu API uzyskuje się przez protokół HTTP czy za pomocą zaszyfrowanego protokołu.

W ramach procesu wdrażania Edge musisz utworzyć organizację, środowisko hosta wirtualnego. Edge udostępnia polecenie setup-org, które pozwala proces ten będzie łatwiejszy dla nowych użytkowników.

Podczas tworzenia hosta wirtualnego musisz podać te informacje:

  • Nazwa hosta wirtualnego, którego używasz w swoim interfejsie API, aby się do niego odwoływać. serwerów proxy.
  • Port w routerze dla hosta wirtualnego. Zwykle te porty zaczyna się od wartości 9001 i zwiększa się o jeden dla każdego nowego hosta wirtualnego.
  • Alias hosta wirtualnego. Zwykle jest to nazwa DNS hosta wirtualnego.

Na przykład w pliku konfiguracji przekazywanym do polecenia setup-org należy można określić te informacje w formie:

# 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

Router brzegowy porównuje nagłówek Host instancji przychodzące żądanie do listy dostępnych aliasów hosta w ramach określania serwera proxy interfejsu API, przetwarza żądanie. Podczas wysyłania żądania za pośrednictwem hosta wirtualnego podaj nazwę domeny pasujący do aliasu hosta wirtualnego lub określonego adresu IP routera nagłówek Host zawierający alias hosta.

Jeśli na przykład został utworzony host wirtualny z aliasem hosta myapis.apigee.net na porcie 9001, to żądanie cURL wysyłane do interfejsu API przez ten host wirtualny może używać jednej z tych formularze:

  • Jeśli masz wpis DNS dla myapis.apigee.net:

    curl http://myapis.apigee.net:9001/{proxy-base-path}/{resource-path}
  • Jeśli nie masz wpisu DNS dla myapis.apigee.net:

    curl http://<routerIP>:9001/{proxy-base-path}/{resource-path} -H „Host: myapis.apigee.net”

    W tym formularzu należy podać adres IP routera i przekazać alias hosta w pliku Nagłówek Host.

    Uwaga: polecenie cURL, większość przeglądarek i wiele innych narzędzi automatycznie dołącz nagłówek Host z parametrem domain, możesz więc użyć polecenia cURL w postaci:

    curl http://<routerIP>:9001/{proxy-base-path}/{resource-path}

Opcje dostępne, gdy nie masz systemu DNS wpis hosta wirtualnego

Jedną z opcji w przypadku braku wpisu DNS jest ustawienie aliasu hosta na adres IP serwera Router i port hosta wirtualnego, np. <routerIP>:port. Dla: przykład:

VHOST_ALIAS=192.168.1.31:9001

Następnie utwórz polecenie curl w formacie poniżej:

curl http://<routerIP>:9001/{proxy-base-path}/{resource-path} 

Ta opcja jest preferowana, ponieważ dobrze współpracuje z interfejsem Edge.

Jeśli masz kilka routerów, dodaj alias hosta dla każdego z nich, określając adres IP każdy router 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"

Możesz też ustawić alias hosta na wartość, jako temp.hostalias.com. Następnie musisz przekazać nagłówek Host w każdym żądanie:

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 pliku /etc/hosts:

192.168.1.31   temp.hostalias.com

Następnie możesz wysłać żądanie tak, jakby miał wpis DNS:

curl -v http://myapis.apigee.net:9001/{proxy-base-path}/{resource-path}

Używanie chronionego portu na hoście wirtualnym

Jeśli chcesz utworzyć hosta wirtualnego, który powiąże router z chronionym portem, takim jak port ma wartość mniejszą niż 1000, musisz skonfigurować router tak, aby działał jako użytkownik z dostępem do te porty. Domyślnie router działa jako „apigee” użytkownika który nie ma dostępu do porty z podwyższonymi uprawnieniami.

Aby uruchomić router jako inny użytkownik:

  1. Jako użytkownik root utwórz plik /opt/apigee/etc/edge-router.d/RUN_USER.sh.
  2. Dodaj do pliku ten wpis:
    RUN_USER=root
    Jeśli nie chcesz uruchamiać routera jako roota, wskaż użytkownika z dostępem do tego portu.
  3. Zapisz plik.
  4. Jeśli nie jest to root, zmień właściciela pliku na tego użytkownika:
    &gt; chown UŻYTKOWNIK:UŻYTKOWNIK /opt/apigee/etc/edge-router.d/RUN_USER.sh
  5. Uruchom ponownie router:
    &gt; /opt/apigee/apigee-service/bin/apigee-service restarter routera brzegowego