Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee X.info
Клиент облачной платформы с платным аккаунтом может создать виртуальный хост в организации.
Кто может создавать и изменять виртуальные хосты в облаке?
Создание и изменение виртуальных хостов доступно только для платных учетных записей в Edge Cloud. Пользователь, создающий виртуальный хост, должен иметь роль администратора организации или пользовательскую роль с правами на изменение виртуального хоста. Пользователи с другими ролями не имеют права создавать виртуальные хосты.
Например, платные клиенты могут:
- Включите одностороннюю и двустороннюю TLS-защиту.
- Укажите хранилище ключей/доверенных сертификатов, используемое виртуальным хостом.
Бесплатные и пробные учетные записи не могут создавать или изменять виртуальные хосты и ограничены виртуальными хостами, созданными для них во время регистрации в Edge. Для получения дополнительной информации о тарифных планах Edge см. https://apigee.com/api-management/#/pricing .
Требования к настройке виртуального хоста для облака
В таблице ниже приведено краткое описание требований для создания виртуального хоста:
| Категория | Требование | Описание |
|---|---|---|
| Тип счета | Оплаченный | Бесплатные и пробные учетные записи не позволяют создавать или изменять виртуальные хосты. |
| роль пользователя | администратор организации | Создать виртуальный хост может только администратор организации или пользователь с пользовательской ролью, имеющий права на изменение виртуального хоста. |
| Количество виртуальных хостов | максимум 20 | В облачной среде количество виртуальных хостов в одной организации/среде ограничено максимум 20. Примечание : Количество виртуальных хостов в частном облаке не ограничено. В большинстве организаций/сред используются два виртуальных хоста: один для доступа по протоколу HTTP, а другой — по протоколу HTTPS. Если ваша организация/среда разрешает доступ с использованием разных доменных имен, вам могут потребоваться дополнительные виртуальные хосты. |
| Базовый URL | Включает протокол | При определении базового URL-адреса для виртуального хоста, будь то в пользовательском интерфейсе или с помощью API, необходимо указать протокол (например, "http://" или "https://") как часть URL-адреса. |
| Порт | 443 | Создать виртуальный хост можно только на порту 443. Обратите внимание, что вы можете создать несколько виртуальных хостов на порту 443 при условии, что у них есть уникальные псевдонимы хостов и все они поддерживают TLS. |
| ТЛС | Необходимый | Вы можете создать только виртуальный хост, поддерживающий TLS по протоколу HTTPS. Для этого необходимо предварительно создать хранилище ключей, а при необходимости и хранилище доверенных сертификатов, содержащее ваш TLS-сертификат и ключ. Для использования сертификата необходим сертификат, подписанный доверенной организацией, такой как Symantec или VeriSign. Самоподписанный сертификат использовать нельзя. Если вам необходим доступ по протоколу HTTP, обратитесь в службу поддержки Apigee Edge . |
| протокол TLS | TLS 1.2 | Edge in the Cloud поддерживает только TLS версии 1.2. |
| Псевдоним хоста | Уникальная организация и атмосфера. | Псевдоним хоста не существует для другой комбинации организации/среды. |
| Доменное имя | Принадлежит клиенту | Вы должны быть владельцем доменного имени, указанного в виртуальном хосте. Edge проверяет, соответствует ли доменное имя, определенное псевдонимом хоста, метаданным в сертификате TLS. В частности, Edge проверяет следующую информацию в сертификате:
В SAN или CN допускается использование символов-заменителей, например, Edge также проверяет, не истек ли срок действия сертификата. |
| Поддержка SNI в клиентском приложении | Все клиентские приложения, обращающиеся к виртуальному хосту, должны поддерживать SNI. | Поддержка SNI необходима для всех приложений. |
Создайте виртуальный хост с помощью браузера.
В большинстве примеров в этом разделе для создания или изменения виртуальных хостов используется API Edge, но вы можете создать виртуальный хост и в пользовательском интерфейсе Edge.
Чтобы создать виртуальный хост с помощью пользовательского интерфейса Edge:
- Войдите на сайт apigee.com/edge .
- Выберите Администрирование > Виртуальные хосты .
- Выберите среду, например, производственную (prod) или тестовую (test) .
- Выберите + Виртуальный хост , чтобы создать виртуальный хост, или выберите имя существующего виртуального хоста, чтобы отредактировать его.
- Подробную информацию о заполнении полей виртуального хоста см. в таблице выше.
Определение виртуального хоста для одностороннего TLS
XML-объект, определяющий виртуальный хост. Например, следующий XML-объект определяет виртуальный хост для одностороннего TLS:
<VirtualHost name="myTLSVHost">
<HostAliases>
<HostAlias>api.myCompany.com</HostAlias>
</HostAliases>
<Port>443</Port>
<SSLInfo>
<Enabled>true</Enabled>
<ClientAuthEnabled>false</ClientAuthEnabled>
<KeyStore>ref://myTestKeystoreRef</KeyStore>
<KeyAlias>myKeyAlias</KeyAlias>
</SSLInfo>
</VirtualHost>В этом определении вы:
- Укажите имя как myTLSVHost . Используйте это имя для ссылки на виртуальный хост в API-прокси или в вызове API.
- Укажите псевдоним хоста как api.myCompany.com . Это общедоступный домен, используемый для доступа к вашим API, как определено в DNS-записях и CNAME-записях.
- Укажите номер порта как 443. Если этот параметр не указан, по умолчанию будет установлен порт 443.
- При необходимости включите TLS.
Элемент<Enable>устанавливается в значение true для включения одностороннего TLS, а элементы <KeyStore> и<KeyStore>указывают хранилище ключей и псевдоним ключа, используемые в TLS-соединении.
Для включения двусторонней TLS-аутентификации установите параметр<ClientAuthEnabled>в значение true и укажите хранилище доверенных сертификатов с помощью элемента<TrustStore>. Хранилище доверенных сертификатов содержит информацию об издателе сертификата клиента и цепочку центров сертификации, что является обязательным условием.
Примечание: Поскольку Edge изначально поддерживал SSL, тег, используемый для настройки TLS, называется<SSLInfo>.
Обратите внимание, что в настройках виртуального хоста можно задать дополнительные параметры. Справочную информацию по всем параметрам см. в разделе «Справочник по параметрам виртуального хоста» .
Определение способа указания имени хранилища ключей и хранилища доверенных сертификатов в виртуальном хосте.
При настройке виртуального хоста для поддержки TLS хранилище ключей указывается с помощью ссылки . Ссылка — это переменная, содержащая имя хранилища ключей или доверенных сертификатов, а не прямое указание имени хранилища ключей или доверенных сертификатов, как показано ниже:
<SSLInfo>
<Enabled>true</Enabled>
<ClientAuthEnabled>false</ClientAuthEnabled>
<KeyStore>ref://myTestKeystoreRef</KeyStore>
<KeyAlias>myKeyAlias</KeyAlias>
</SSLInfo>Преимущество использования ссылки заключается в том, что вы можете изменить значение ссылки, чтобы изменить хранилище ключей, используемое виртуальным хостом, обычно потому, что срок действия сертификата в текущем хранилище ключей истекает в ближайшем будущем. Изменение значения ссылки не требует перезапуска маршрутизатора Edge Router. См. раздел «Работа со ссылками» для получения дополнительной информации о создании и изменении ссылок.
Вы можете использовать только ссылку на хранилище ключей и хранилище доверенных сертификатов; вы не можете использовать ссылку на псевдоним. При изменении ссылки на хранилище ключей убедитесь, что имя псевдонима сертификата совпадает с именем в старом хранилище ключей.
Ограничения на использование ссылок на хранилища ключей и хранилища доверенных сертификатов.
При использовании ссылок на хранилища ключей и доверенных сертификатов необходимо учитывать следующее ограничение:
- Использовать ссылки на хранилища ключей и доверенных сертификатов в виртуальных хостах можно только при поддержке SNI и завершении SSL-соединения на маршрутизаторах Apigee.
- Если перед маршрутизаторами Apigee установлен балансировщик нагрузки, и вы завершаете TLS-соединение на балансировщике нагрузки, то вы не сможете использовать ссылки на хранилище ключей и хранилище доверенных сертификатов в виртуальных хостах.
Определение виртуального хоста для двустороннего TLS
Для включения двусторонней TLS-аутентификации установите для элемента <ClientAuthEnabled> значение true и укажите хранилище доверенных сертификатов, используя ссылку с элементом <TrustStore> . Хранилище доверенных сертификатов содержит информацию об издателе сертификата клиента и цепочку центров сертификации, что является обязательным условием. Клиент также должен быть правильно настроен для двусторонней TLS-аутентификации.
Для создания виртуального хоста для двустороннего TLS-соединения необходимо создать XML-объект, определяющий виртуальный хост:
<VirtualHost name="myTLSVHost">
<HostAliases>
<HostAlias>api.myCompany.com</HostAlias>
</HostAliases>
<Port>443</Port>
<SSLInfo>
<Enabled>true</Enabled>
<ClientAuthEnabled>true</ClientAuthEnabled>
<KeyStore>ref://myTestKeystoreRef</KeyStore>
<KeyAlias>myKeyAlias</KeyAlias>
<TrustStore>ref://myTestTruststoreRef</TrustStore>
</SSLInfo>
</VirtualHost>В этом определении вы:
- Включите двусторонний TLS, установив параметр
<ClientAuthEnabled>в значение true. - Укажите ссылку на хранилище доверенных сертификатов с помощью элемента
<TrustStore>. Хранилище доверенных сертификатов содержит информацию об издателе сертификата клиента и цепочку центров сертификации, что является обязательным условием.
Настройка виртуального хоста, использующего сертификат и ключ из бесплатной пробной версии Apigee.
Если у вас есть платная учетная запись Edge for Cloud и еще нет сертификата и ключа TLS, вы можете создать виртуальный хост, используя сертификат и ключ из бесплатной пробной версии Apigee. Это означает, что вы можете создать виртуальный хост, не создавая предварительно хранилище ключей.
Сертификат для бесплатной пробной версии Apigee предназначен для домена *.apigee.net . Следовательно, <HostAlias> виртуального хоста также должен иметь формат *.apigee.net .
Если вы используете двусторонний TLS, вам все равно необходимо установить элемент <ClientAuthEnabled> в true и указать хранилище доверенных сертификатов, используя ссылку с элементом <TrustStore> , как описано выше в разделе «Определение виртуального хоста для двустороннего TLS» .
В XML-объекте, определяющем виртуальный хост с использованием сертификата и ключа бесплатной пробной версии Apigee, элементы <KeyStore> и <KeyAlias> опущены, и вместо них добавлен элемент <UseBuiltInFreeTrialCert> , как показано ниже:
<VirtualHost name="myTLSVHost">
<HostAliases>
<HostAlias>myapi.apigee.net</HostAlias>
</HostAliases>
<Port>443</Port>
<SSLInfo>
<Enabled>true</Enabled>
<ClientAuthEnabled>false</ClientAuthEnabled>
</SSLInfo>
<UseBuiltInFreeTrialCert>true</UseBuiltInFreeTrialCert>
</VirtualHost> Значение по умолчанию для элемента <UseBuiltInFreeTrialCert> — false.
Для двустороннего TLS-соединения определите виртуальный хост следующим образом:
<VirtualHost name="myTLSVHost">
<HostAliases>
<HostAlias>myapi.apigee.net</HostAlias>
</HostAliases>
<Port>443</Port>
<SSLInfo>
<Enabled>true</Enabled>
<ClientAuthEnabled>true</ClientAuthEnabled>
<TrustStore>ref://myTestTruststoreRef</TrustStore>
</SSLInfo>
<UseBuiltInFreeTrialCert>true</UseBuiltInFreeTrialCert>
</VirtualHost>В пользовательском интерфейсе Edge при создании виртуального хоста выберите параметр «Использовать встроенный бесплатный пробный сертификат» , чтобы использовать бесплатный сертификат и ключ Apigee:

Создание виртуального хоста
Для создания виртуального хоста выполните следующие действия:
- Создайте запись DNS и запись CNAME для вашего общедоступного домена, в данном примере
api.myCompany.com, указывающую на[org]-[environment].apigee.net. - Создайте и настройте хранилище ключей, в данном примере названное myTestKeystore , используя процедуру, описанную здесь: Создание хранилищ ключей и хранилища доверенных сертификатов с помощью пользовательского интерфейса Edge . В этом примере убедитесь, что хранилище ключей использует псевдоним myKeyAlias для сертификата и закрытого ключа.
- Загрузите свой сертификат и ключ в хранилище ключей. Убедитесь, что доменное имя, указанное в вашем сертификате, совпадает с псевдонимом хоста, который вы хотите использовать для виртуального хоста.
Создайте ссылку на хранилище ключей, используя пользовательский интерфейс Edge или API. В ссылке указывается имя хранилища ключей и тип ссылки —
KeyStore. Дополнительную информацию о создании и изменении ссылок см. в разделе «Работа со ссылками» .- Создайте виртуальный хост, используя API создания виртуального хоста . Убедитесь, что вы указали правильную ссылку на хранилище ключей и псевдоним ключа. Для использования API выполните следующий POST-запрос для создания хранилища ключей с именем myTLSVHost :
curl -X POST -H "Content-Type:application/xml" \ https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/virtualhosts \ -d '<VirtualHost name="myTLSVHost"> <HostAliases> <HostAlias>api.myCompany.com</HostAlias> </HostAliases> <Port>443</Port> <SSLInfo> <Enabled>true</Enabled> <ClientAuthEnabled>false</ClientAuthEnabled> <KeyStore>ref://myTestKeystoreRef</KeyStore> <KeyAlias>myKeyAlias</KeyAlias> </SSLInfo> </VirtualHost>' \ -u orgAdminEmail:passwordЕсли вы используете двусторонний TLS с клиентом, установите параметр
<ClientAuthEnabled>в значение true и укажите хранилище доверенных сертификатов с помощью элемента<TrustStore>. Клиент должен быть правильно настроен для двустороннего TLS, то есть в Edge должно быть хранилище доверенных сертификатов, содержащее информацию об издателе сертификата клиента и цепочке сертификатов. Создайте хранилище доверенных сертификатов, используя процедуру, описанную здесь: Создание хранилищ ключей и хранилищ доверенных сертификатов с помощью пользовательского интерфейса Edge . Если у вас уже есть прокси-серверы API, добавьте виртуальный хост к элементу
<HTTPConnection>в ProxyEndpoint. Виртуальный хост автоматически добавляется ко всем новым прокси-серверам API. См. раздел «Настройка прокси-сервера API для использования виртуального хоста» .
После обновления API-прокси для использования виртуального хоста и создания записи DNS и записи CNAME для псевдонима хоста, вы можете получить доступ к API-прокси, как показано ниже:
https://api.myCompany.com/v1/{project-base-path}/{resource-path}Например:
https://api.myCompany.com/v1/weather/forecastrss?w=12797282
Изменение виртуального хоста
Для модификации существующего виртуального хоста платные клиенты облачных сервисов выполняют две основные задачи:
- Изменение значения ссылки на хранилище ключей или хранилище доверенных сертификатов.
Примечание : После того, как вы настроите<KeyStore>или<TrustStore>для использования ссылки, вы можете изменить значение этой ссылки в любое время. Однако, если вы когда-либо захотите изменить<KeyStore>или<TrustStore>для использования другой ссылки или изменить псевдоним<KeyAlias>, вам необходимо обратиться в службу поддержки Apigee Edge . - Изменение свойств TLS виртуального хоста.
Изменение значения ссылки
Вы можете изменить значение ссылки, чтобы изменить хранилище ключей или доверенных сертификатов, используемое виртуальным хостом.
Перед изменением значения ссылки:
- Создайте новое хранилище ключей и загрузите сертификат и ключ, как описано в разделе «Создание хранилищ ключей и хранилища доверенных сертификатов с помощью пользовательского интерфейса Edge» . В новом хранилище ключей убедитесь, что вы используете то же имя для псевдонима ключа, что и в существующем хранилище ключей .
- При необходимости создайте новое хранилище доверенных сертификатов и загрузите сертификат, как описано в разделе «Создание хранилищ ключей и хранилища доверенных сертификатов с помощью пользовательского интерфейса Edge» .
- Измените ссылку, как описано в разделе «Работа со ссылками» .
Изменение свойств TLS виртуального хоста
Платные клиенты могут использовать API обновления виртуального хоста для обновления виртуального хоста. Этот API позволяет устанавливать все свойства виртуального хоста, описанные в справочнике свойств виртуального хоста .
При изменении виртуального хоста Edge выполняет проверку, аналогичную той, что выполняется при его создании. То есть, при изменении Edge проверяет следующее:
- Домен, указанный в псевдониме хоста, не используется в другой организации и среде.
- Вы являетесь владельцем доменного имени. В частности, Edge проверяет, соответствует ли следующая информация в сертификате псевдониму хоста:
- CN - Общее название
- SAN - Альтернативное название предмета
- Edge проверяет, не истек ли срок действия сертификата.
Для изменения параметров виртуального хоста с помощью API Edge выполните следующие действия:
Обновите виртуальный хост, используя API обновления виртуального хоста . При использовании API необходимо указать полное определение виртуального хоста в теле запроса, а не только те элементы, которые вы хотите изменить. В этом примере вы устанавливаете значение свойства
proxy_read_timeout:curl -X PUT -H "Content-Type:application/xml" \ https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/virtualhosts/{vhost_name} \ -d '<VirtualHost name="myTLSVHost"> <HostAliases> <HostAlias>api.myCompany.com</HostAlias> </HostAliases> <Port>443</Port> <SSLInfo> <Enabled>true</Enabled> <ClientAuthEnabled>false</ClientAuthEnabled> <KeyStore>ref://myTestKeystoreRef</KeyStore> <KeyAlias>myKeyAlias</KeyAlias> </SSLInfo> <Properties> <Property name="proxy_read_timeout">50</Property> </Properties> </VirtualHost>' \ -u orgAdminEmail:password
Изменение конфигурации виртуального хоста для использования ссылок на хранилище ключей и хранилище доверенных сертификатов.
Все новые виртуальные хосты для Edge в облаке используют ссылки на хранилище ключей и хранилище доверенных сертификатов. Ссылки позволяют изменять хранилище ключей и хранилище доверенных сертификатов без обращения в службу поддержки Apigee Edge .
Более старые виртуальные хосты в Apigee Edge могут быть не настроены на использование ссылок на хранилища ключей и доверенных сертификатов. В этом случае вы можете обновить виртуальный хост, чтобы он использовал ссылку.
Обновление виртуального хоста для использования ссылки
Для обновления виртуального хоста выполните следующие действия:
- При необходимости создайте новое хранилище ключей и загрузите сертификат, как описано в разделе «Создание хранилищ ключей и хранилища доверенных сертификатов с помощью пользовательского интерфейса Edge» . Если у вас уже есть хранилище ключей, вы можете настроить ссылку, указывающую на него.
- Создайте новую ссылку на хранилище ключей.
- При необходимости создайте новое хранилище доверенных сертификатов и загрузите сертификат. Если у вас уже есть хранилище доверенных сертификатов, вы можете настроить ссылку на него.
- Создайте новую ссылку на хранилище доверенных сертификатов.
- Обновите виртуальный хост, чтобы установить хранилище ключей, псевдоним, хранилище доверенных сертификатов и любые другие свойства TLS. Полезная нагрузка для вызова:
curl -X PUT -H "Content-Type:application/xml" \ https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/virtualhosts/{vhost_name} \ -d '<VirtualHost name="myTLSVHost"> <HostAliases> <HostAlias>api.myCompany.com</HostAlias> </HostAliases> <Port>443</Port> <OCSPStapling>off</OCSPStapling> <SSLInfo> <Enabled>true</Enabled> <ClientAuthEnabled>true</ClientAuthEnabled> <KeyStore>ref://myKeyStore2Way</KeyStore> <KeyAlias>keyAlias</KeyAlias> <TrustStore>ref://myTrustStore2Way</TrustStore> <IgnoreValidationErrors>false</IgnoreValidationErrors> </SSLInfo> </VirtualHost>' \ -u orgAdminEmail:pWord - Для завершения процесса обратитесь в службу поддержки Apigee , чтобы перезагрузить маршрутизаторы Edge Routers.