Konfigurowanie hosta wirtualnego

Edge for Private Cloud wer. 4.17.01

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, aby ułatwić 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.

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. Gdy wysyłasz żą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}/{ścieżka-zasobu}
  • Jeśli nie masz wpisu DNS dla adresu myapis.apigee.net:

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

    W tym formularzu określasz adres IP hosta routera i przekazujesz jego nagłówek w aliasie.

    Uwaga: polecenie curl, większość przeglądarek i wiele innych narzędzi automatycznie dołącza nagłówek Host do domeny jako część żądania, dzięki czemu możesz użyć polecenia curl w formacie:


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

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 jako <routerIP>:port. Na przykład:

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 kilka routerów, dodaj alias hosta dla każdego routera, który określa adres IP każdego routera i port hosta wirtualnego.

Alias hosta możesz też ustawić jako wartość, na przykład 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 katalogu /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}

Korzystanie z zabezpieczonego portu na hoście wirtualnym

Jeśli chcesz utworzyć hosta wirtualnego, który wiąże router z zabezpieczonym portem, na przykład numery portów mniejsze niż 1024, musisz skonfigurować router tak, aby działał jako użytkownik z dostępem do tych portów. Domyślnie router działa jako użytkownik „apigee”, który nie ma dostępu do portów 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 root, określ użytkownika z dostępem do tego portu.
  3. Zapisz plik.
  4. Jeśli wskazano użytkownika innego niż root, zmień właściciela pliku na tego użytkownika:
    > chown USER:USER /opt/apigee/etc/edge-router.d/RUN_USER.sh
  5. Ponownie uruchom router:
    > /opt/apigee/apigee-service/bin/apigee-service Edge-router restart