Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X. информация
При локальной установке вы имеете полный контроль над виртуальными хостами. Вы можете создавать виртуальные хосты для любой организации, в любых средах, используя TLS или нет.
В этом документе описывается, как создать простой виртуальный хост. То есть тот, который не поддерживает TLS. Дополнительные примеры, включая примеры создания виртуальных хостов с поддержкой TLS, см. в разделе Настройка доступа TLS к API для частного облака .
Узнать больше :
- О виртуальных хостах
- Настройка виртуальных хостов
- Настройка TLS
- Хранилища ключей и доверенные хранилища
- Настройка доступа TLS к API для частного облака
О псевдонимах хостов
При создании виртуального хоста необходимо указать псевдоним виртуального хоста. Обычно это DNS-имя виртуального хоста.
Edge Router сравнивает заголовок Host
входящего запроса со списком доступных псевдонимов хоста в рамках определения прокси-сервера API, который обрабатывает запрос. При выполнении запроса через виртуальный хост либо укажите доменное имя, соответствующее псевдониму виртуального хоста, либо укажите IP-адрес Маршрутизатора и заголовок Host
, содержащий псевдоним хоста.
Например, если вы создали виртуальный хост с псевдонимом myapis.apigee.net на порту 9001 , то запрос cURL к API через этот виртуальный хост может использовать одну из следующих форм:
Если у вас есть запись DNS для myapis.apigee.net :
curl http://myapis.apigee.net:9001/proxy-base-path/resource-path
Если у вас нет записи DNS для myapis.apigee.net :
curl http://routerIP:9001/proxy-base-path/resource-path -H 'host:myapis.apigee.net'
В этой форме вы указываете IP-адрес маршрутизатора и передаете псевдоним хоста в заголовке
Host
.curl http://routerIP:9001/proxy-base-path/resource-path
Варианты, когда у вас нет записи DNS для виртуального хоста
Один из вариантов, когда у вас нет записи DNS, — установить псевдоним хоста для IP-адреса маршрутизатора и порта виртуального хоста, например routerIP : port . Например:
192.168.1.31:9001
Когда вы вводите команду curl
в форме ниже:
curl http://routerIP:9001/proxy-base-path/resource-path
Этот вариант предпочтителен, поскольку он хорошо работает с пользовательским интерфейсом Edge.
Если у вас несколько маршрутизаторов, добавьте псевдоним хоста для каждого маршрутизатора, указав IP-адрес каждого маршрутизатора и порт виртуального хоста.
Альтернативно вы можете установить псевдоним хоста в значение, например temp.hostalias.com . Затем вам необходимо передавать заголовок Host
при каждом запросе:
curl -v http://routerIP:9001/proxy-base-path/resource-path -H 'Host: temp.hostalias.com'
Или добавьте псевдоним хоста в файл /etc/hosts . Например, добавьте эту строку в /etc/hosts:
192.168.1.31 temp.hostalias.com
Затем вы можете сделать запрос, как если бы у вас была запись DNS:
curl -v http://myapis.apigee.net:9001/proxy-base-path/resource-path
О портах виртуальных хостов в Edge для частного облака 4.16.01 и более поздних версий
При создании виртуального хоста вы указываете порт маршрутизатора, используемый виртуальным хостом. Например, порт 9001.
В версиях Apigee for Private Cloud 4.16.01 и более поздних по умолчанию маршрутизатор работает от имени пользователя «apigee», который не имеет доступа к привилегированным портам, обычно портам 1024 и ниже. Если вы хотите создать виртуальный хост, который привязывает маршрутизатор к защищенному порту, вам необходимо настроить маршрутизатор для работы от имени пользователя с доступом к этим портам. Дополнительную информацию см. в разделе Настройка виртуального хоста .
Создание виртуальных хостов
В этом разделе описывается, как создать виртуальные хосты для Apigee Edge для частного облака. Обратите внимание: для создания нового виртуального хоста вы должны быть администратором организации.
Вы можете создавать виртуальные хосты для Apigee Edge для частного облака, используя API или пользовательский интерфейс Edge. Они описаны в следующих разделах.
Создайте виртуальный хост с помощью браузера
В этом разделе описывается, как создать виртуальный хост с помощью браузера (только для пользовательского интерфейса Edge).
Чтобы создать новый виртуальный хост в пользовательском интерфейсе Edge:
- Войдите в пользовательский интерфейс управления Edge.
- Выберите «Администратор» > «Виртуальные хосты» .
Выберите среду из раскрывающегося списка.
Edge отображает список виртуальных хостов для этой среды.
- Чтобы создать новый виртуальный хост, выберите + Virtual Host .
Edge отображает форму создания виртуального хоста .
Вы также можете щелкнуть имя существующего виртуального хоста, чтобы отредактировать его.
- Определите свой новый виртуальный хост. Обратите внимание, что поле «Базовый URL-адрес» должно включать протокол (т. е. к значению поля должен быть добавлен префикс «http://» или «https://»).
Дополнительно обратите внимание, что:
- Нет ограничений на количество виртуальных хостов, которые вы можете создать.
- TLS не является обязательным и может иметь версию 1.0, 1.1 или 1.2.
- Порт виртуального хоста настраивается
- Нажмите кнопку «Создать» , чтобы сохранить новый виртуальный хост.
Создайте виртуальный хост с помощью API
Чтобы создать виртуальный хост с помощью API, создайте объект XML, который определяет виртуальный хост. Например, следующий объект XML определяет виртуальный хост, использующий протокол HTTP:
<VirtualHost name="myVHost"> <HostAliases> <HostAlias>DNS_name_or_IP:port</HostAlias> </HostAliases> <Interfaces/> <Port>9005</Port> </VirtualHost>
Обратите внимание, что виртуальный хост содержит свойство name
. Значение свойства name
используется для настройки прокси-сервера API для использования виртуального хоста.
Затем вы можете получить доступ к прокси-серверу API через этот виртуальный хост, отправив запрос:
http://routerIP:port/proxy-base-path/resource-path
https://routerIP:port/proxy-base-path/resource-path
Где:
-
http
илиhttps
: если виртуальный хост настроен на поддержку TLS, используйте HTTPS. Если виртуальный хост не поддерживает TLS, используйте HTTP. - routerIP : port — это IP-адрес и номер порта виртуального хоста.
- proxy-base-path и resource-path определяются при создании прокси-сервера API.
Обычно вы не публикуете свои API-интерфейсы для клиентов с указанием IP-адреса и номера порта. Вместо этого вы определяете запись DNS для маршрутизатора и порта. Например:
http://api.myCompany.com/proxy-base-path/resource-path https://api.myCompany.com/proxy-base-path/resource-path
Если вы определяете запись DNS, вам необходимо создать псевдоним хоста для виртуального хоста, который соответствует имени домена записи DNS. Псевдоним хоста должен соответствовать строке, которую клиент передает в заголовке Host
. В приведенном выше примере вы должны указать псевдоним хоста api.myCompany.com
.
<VirtualHost name="myVHost"> <HostAliases> <HostAlias>api.myCompany.com</HostAlias> </HostAliases> <Interfaces/> <Port>9005</Port> </VirtualHost>
Чтобы создать виртуальный хост, использующий протокол HTTP, выполните следующие действия:
- Создайте виртуальный хост с помощью API создания виртуального хоста , где ms-IP — это IP-адрес или доменное имя узла сервера управления:
$ curl -X POST -H "Content-Type:application/xml" \ http://ms-IP:8080/v1/o/org_name/environments/env_name/virtualhosts \ -d '<VirtualHost name="newVHost"> <HostAliases> <HostAlias>api.myCompany.com</HostAlias> </HostAliases> <Interfaces/> <Port>9005</Port> </VirtualHost>' \ -u sysAdminEmail:password
- Создайте запись DNS для виртуального хоста, соответствующую псевдониму хоста.
- Если у вас есть существующие прокси-серверы API, добавьте виртуальный хост к элементу
<HTTPConnection>
в конечной точке прокси-сервера. Виртуальный хост автоматически добавляется ко всем новым прокси-серверам API. См. Настройка прокси-сервера API для использования виртуального хоста .
Изменение виртуального хоста
Чтобы изменить виртуальный хост, выполните следующие действия:
Обновите виртуальный хост с помощью API обновления виртуального хоста , где
<ms-IP>
— это IP-адрес или доменное имя узла сервера управления. В теле запроса необходимо указать полное определение виртуального хоста, а не только элементы, которые вы хотите изменить. В этом примере вы меняете номер порта виртуального хоста с 9008 на 9009:curl -X PUT -H "Content-Type:application/xml" \ http://ms-IP:8080/v1/o/org_name/environments/env_name/virtualhosts/vhost_name \ -d '<VirtualHost name="newVHost"> <HostAliases> <HostAlias>api.myCompany.com</HostAlias> </HostAliases> <Interfaces/> <Port>9009</Port> </VirtualHost>' \ -u email:password
- Только для Edge for Private Cloud версий 4.16.01 и 4.16.05. Если вы измените существующий виртуальный хост и либо включите TLS, либо отключите TLS без изменения номера порта, то:
Остановите маршрутизатор:
/opt/apigee/apigee-service/bin/apigee-service edge-router stop
Удалите все файлы в
/opt/nginx/conf.d
:rm -f /opt/nginx/conf.d/*
Запустите маршрутизатор:
/opt/apigee/apigee-service/bin/apigee-service edge-router start
- Повторите для всех маршрутизаторов.