Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X. Информация
В Edge маршрутизатор обрабатывает весь входящий трафик API. Это означает, что все HTTP- и HTTPS-запросы к прокси-серверу API сначала обрабатываются маршрутизатором Edge.
Виртуальный хост позволяет размещать на сервере несколько доменных имен. В Edge сервер соответствует пограничному маршрутизатору. Определив на маршрутизаторе несколько виртуальных хостов, вы сможете обрабатывать запросы API к нескольким доменным именам.
Виртуальный хост в Edge определяет протокол доступа (HTTP или HTTPS), открытый порт маршрутизатора и псевдоним хоста. Псевдоним хоста обычно представляет собой доменное имя DNS, которое сопоставляется с IP-адресом маршрутизатора.
Например, на изображении ниже показан маршрутизатор с двумя определениями виртуального хоста:

Первый виртуальный хост обрабатывает HTTPS-запросы в домене domainName1, а второй – HTTP-запросы в домене domainName2.
При получении запроса к прокси-серверу API маршрутизатор сравнивает заголовок Host входящего запроса со списком псевдонимов хостов, заданных всеми виртуальными хостами, чтобы определить, какой виртуальный хост будет обрабатывать запрос.
Определения виртуальных хостов
Виртуальные хосты содержат следующую информацию:
- Внутреннее название виртуального хоста. Это название используется для ссылки на виртуальный хост в прокси API и при его настройке.
- Псевдоним хоста виртуального хоста. Обычно псевдоним хоста – это доменное имя DNS, которое сопоставляется с IP-адресом на маршрутизаторе. Заголовок
Hostзапросов к прокси-серверу API должен содержать псевдоним хоста виртуального хоста. - Открытый порт на маршрутизаторе.
- Включен ли протокол TLS (доступ по HTTPS) или нет (доступ по HTTP).
Например, при создании виртуального хоста вы указываете следующие сведения:
- name = myvhost
- Псевдоним хоста = apis.acme.com
- port = 443
- TLS включен
В зависимости от настроек виртуального хоста запрос к прокси API будет иметь следующий вид:
https://apis.acme.com/{proxy-base-path}/{resource-path}где:
- {proxy-base-path} определяется при создании прокси-сервера API и является уникальным для каждого прокси-сервера API.
Пример:
https://apis.acme.com/characters
- {resource-path} – путь к ресурсу, доступному через прокси-сервер API. Пример:
https://apis.acme.com/characters/coyote https://apis.acme.com/characters/roadrunner
О виртуальных хостах в Edge для облака
Каждая организация Edge автоматически включает две среды (test и prod), два виртуальных хоста в каждой среде (default и secure) и записи DNS для каждого псевдонима хоста.
Псевдоним хоста каждого виртуального хоста, предоставленного Apigee, содержит название организации и среды, как показано в таблице ниже.
| Среда | Имя виртуального хоста | Псевдоним хоста | Порт | TLS включен |
|---|---|---|---|---|
| Производство | по умолчанию | {org-name}-prod.apigee.net |
80 | Нет |
| безопасно | {org-name}-prod.apigee.net |
443 | Да | |
| тест | по умолчанию | {org-name}-test.apigee.net |
80 | Нет |
| безопасно | {org-name}-test.apigee.net |
443 | Да |
Например, доменное имя по умолчанию для организации myorg в среде prod – myorg-prod.apigee.net. Чтобы получить доступ к прокси API в этой организации, используйте URL в следующем формате:
http://myorg-prod.apigee.net/{proxy-base-path}/{resource-path}
https://myorg-prod.apigee.net/{proxy-base-path}/{resource-path}Платные планы Apigee. Доменное имя, содержащее "apigee.net", может быть не тем, которое вы хотите показывать своим клиентам. Вы можете использовать запись DNS и запись CNAME, чтобы сопоставить доменное имя с вашей организацией в Edge. Вам также необходимо создать виртуальный хост с псевдонимом хоста, заданным для этого доменного имени. Это позволяет разработчикам получать доступ к вашему API через домен, относящийся к вашей компании.
Вот пример пользовательского домена в Edge:
https://apis.acme.com/{proxy-base-path}/{resource-path}О виртуальных хостах в Edge для частного облака
При установке Apigee Edge для частного облака не создаются организации, среды или виртуальные хосты по умолчанию. После завершения установки Edge обычно выполняется процесс инициализации, в ходе которого создаются организация, среда и виртуальный хост.
Чтобы выполнить регистрацию, выполните следующую команду на узле сервера управления Edge:
/opt/apigee/apigee-service/bin/apigee-service apigee-provision setup-org -f configFile
где configFile содержит информацию, необходимую для создания пользователя, организации, среды и виртуального хоста.
Например, вы создаете:
- Пользователь, которого вы выберете в качестве администратора организации.
- Организация
example - Среда в организации с названием
prod - Виртуальный хост в среде с именем
default, который разрешает доступ по протоколу HTTP через порт 9001. - Псевдоним хоста для имени DNS, используемого для доступа к маршрутизатору, или IP-адрес маршрутизатора и порт виртуального хоста в формате
IP:9001.
Позже вы сможете добавить любое количество организаций, сред и виртуальных хостов в локальную версию Edge. Статьи по теме
Виртуальные хосты открыты на пограничном маршрутизаторе. Поэтому убедитесь, что порт, указанный для виртуального хоста, открыт на маршрутизаторе. Чтобы открыть порт, используйте команду в следующем формате:
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 9001 -j ACCEPT --verbose
После выполнения этой команды вы сможете получить доступ к API, используя URL в следующем формате:
http://<router-ip>:9001/{proxy-base-path}/{resource-path}Как правило, вы не публикуете свои API для клиентов с IP-адресом и номером порта. Вместо этого вы определяете запись DNS для маршрутизатора и порта. Пример:
http://myAPI.myCo.com/{proxy-base-path}/{resource-path}При определении записи DNS необходимо также создать виртуальный хост с псевдонимом хоста, который соответствует доменному имени записи DNS. В примере выше при создании виртуального хоста нужно указать псевдоним хоста myAPI.myCo.com.
Псевдонимы хостов и имена DNS
Одно из свойств, которое можно задать для виртуального хоста, – псевдоним хоста. Псевдоним хоста обычно является именем DNS виртуального хоста. Способ настройки псевдонима хоста зависит от типа установки Edge: Cloud или Private Cloud.
Псевдонимы хостов и имена DNS в Edge для облака
Когда вы впервые создаете организацию Edge для облака, Apigee автоматически создает две среды (test и prod), два виртуальных хоста в каждой среде (default и secure) и записи DNS для каждого виртуального хоста.
Псевдоним хоста виртуальных хостов содержит название организации и среды. Поэтому запрос через виртуальный хост имеет следующий вид:
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}
Как правило, рекомендуется создавать виртуальные хосты, использующие ваше доменное имя, а не домен apigee.net по умолчанию. Для этого сначала нужно создать собственную запись DNS и запись CNAME.
На рисунке ниже показана типичная конфигурация для обработки запроса к API в Edge:

В этом примере:
- api.acme.com – желаемое доменное имя.
- Вы определяете запись DNS и запись CNAME, чтобы направить api.acme.com на acme-prod.apigee.net.
- Запрос содержит заголовок
Host, который используется маршрутизатором для определения виртуального хоста, обрабатывающего запрос.
В этом примере в определении виртуального хоста указана следующая информация:
- name = myvhost
- Псевдоним хоста = apis.acme.com
- port = 443
- Как включить доступ по протоколу TLS
Подробнее о настройке виртуальных хостов для облака…
Псевдонимы хостов и имена DNS в Edge для частного облака
Как и в случае с Edge для облака, вы создаете виртуальные хосты, которые используют ваше доменное имя для псевдонима хоста. Затем вы создаете собственную запись DNS и запись CNAME, чтобы получить доступ к этим виртуальным хостам.
Одно из различий между облаком и частным облаком заключается в том, что в облаке Apigee автоматически создавал DNS-имена для ваших организаций в следующем формате:
- name=default:
http://{org-name}-{env-name}.apigee.net(Порт маршрутизатора 80) - name=secure:
https://{org-name}-{env-name}.apigee.net(Порт 443 маршрутизатора)
В Edge для частного облака необходимо создать записи DNS для IP-адреса и порта маршрутизатора.
Например, вы можете указать эту информацию в определении виртуального хоста:
- name = myvhost
- Псевдоним хоста = apis.acme.com
- port = 9001
- Как включить доступ по протоколу TLS
На рисунке ниже показана типичная конфигурация для обработки запроса к API в Edge:

В этом примере:
- api.acme.com – желаемое доменное имя.
- Вы определяете запись DNS и запись CNAME, чтобы направить api.acme.com на IP-адрес и порт маршрутизатора.
- Запрос содержит заголовок
Host, который используется маршрутизатором для определения виртуального хоста, обрабатывающего запрос.
Подробнее о настройке виртуальных хостов для частного облака…
Псевдонимы хостов и подстановочные знаки
В псевдоним хоста можно добавить подстановочный знак "*". Подстановочный знак "*" может быть только в начале псевдонима хоста (перед первой точкой) и не может использоваться вместе с другими символами.
Ниже приведен пример допустимого псевдонима хоста с использованием подстановочного знака:
*.example.com
Примеры недопустимых вариантов:
www.*.example.com w*.example.com
Использование подстановочного знака в псевдониме виртуального хоста позволяет прокси API обрабатывать вызовы, адресованные нескольким субдоменам, например alpha.example.com, beta.example.com или live.example.com. Использование псевдонима с подстановочным знаком также позволяет использовать меньше виртуальных хостов в среде, чтобы не превышать ограничения продукта, поскольку виртуальный хост с подстановочным знаком считается одним виртуальным хостом.
Сертификат TLS для виртуального хоста должен иметь соответствующий подстановочный знак в общем имени сертификата.
например *.example.com (2-е издание).
О ресурсах виртуального хоста
В Edge виртуальный хост представлен объектом XML. Например, следующий объект XML определяет виртуальный хост:
<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>Список свойств, которые можно задать, зависит от того, используете ли вы Edge для облака или Edge для частного облака. Если вы используете Edge для частного облака, список доступных свойств также зависит от версии Edge. Полное описание всех свойств виртуального хоста приведено в справочнике по свойствам виртуального хоста.
Информацию о том, как создать виртуальный хост для определенной версии Edge, можно найти в следующих статьях: