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

Первый виртуальный хост обрабатывает HTTPS-запросы к домену domainName1 , а второй — HTTP-запросы к домену domainName2 .
При отправке запроса к API-прокси маршрутизатор сравнивает заголовок Host входящего запроса со списком псевдонимов хостов, определенных всеми виртуальными хостами, чтобы определить, какой виртуальный хост обрабатывает запрос.
О виртуальных хостах
Виртуальные хосты содержат следующую информацию:
- Внутреннее имя виртуального хоста. Вы используете это имя для ссылки на виртуальный хост в ваших API-прокси и при его настройке.
- Псевдоним виртуального хоста. Как правило, псевдоним хоста — это доменное имя DNS, которое сопоставляется с IP-адресом маршрутизатора. Заголовок
Hostв запросах API-прокси должен содержать псевдоним виртуального хоста. - Открытый порт на маршрутизаторе.
- Включен ли протокол TLS (доступ по HTTPS) или нет (доступ по HTTP).
Например, при создании виртуального хоста вы указываете следующую информацию:
- имя = мойvhost
- псевдоним хоста = apis.acme.com
- порт = 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 ), два виртуальных хоста в каждой среде ( по умолчанию и защищенную ) и 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 Management Server:
/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: облачная или частная облачная.
Псевдонимы хостов и DNS-имена в Edge для облака
В Edge for the Cloud при первом создании организации Edge Apigee автоматически создает две среды ( test и prod ), два виртуальных хоста в каждой среде ( по умолчанию и защищенную ) и 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, который маршрутизатор использует для определения виртуального хоста, обрабатывающего запрос.
В этом примере в определении виртуального хоста указывается следующая информация:
- имя = мойvhost
- псевдоним хоста = apis.acme.com
- порт = 443
- Включить доступ по протоколу TLS
Дополнительные сведения см. в разделе «Настройка виртуальных хостов для облака» .
Псевдонимы хостов и DNS-имена в Edge для частного облака
Как и в случае с Edge for the Cloud, вы создаете виртуальные хосты, которые используют ваше собственное доменное имя в качестве псевдонима хоста. Затем вы создаете собственную запись 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-адреса и порта вашего маршрутизатора.
Например, эту информацию можно указать в определении виртуального хоста:
- имя = мойvhost
- псевдоним хоста = apis.acme.com
- порт = 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 для виртуального хоста должен содержать соответствующий символ подстановки в имени CN сертификата. Например, *.example.com .
О виртуальных хостинговых ресурсах
В 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 см.: