Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X. информация
Клиент Cloud с платной учетной записью может создать виртуальный хост в организации.
Узнать больше :
- О виртуальных хостах
- Настройка виртуальных хостов
- Настройка TLS
- Хранилища ключей и доверенные хранилища
Кто может создавать и изменять виртуальные хосты в облаке
Создание и изменение виртуального хоста доступно для платных учетных записей только в 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-протокол | ТЛС 1.2 | Edge in the Cloud поддерживает только TLS версии 1.2. |
Псевдоним хоста | Уникальный в организации и среде | Псевдоним хоста не существует для другой комбинации организация/среда. |
Доменное имя | Принадлежит клиенту | Вы должны владеть доменным именем, указанным в виртуальном хосте. Edge проверяет, соответствует ли имя домена, определенное псевдонимом хоста, метаданным в сертификате TLS. В частности, Edge проверяет следующую информацию в сертификате:
В сети SAN или CN разрешены подстановочные знаки, например Edge также проверяет, не истек ли срок действия сертификата. |
Поддержка SNI клиентского приложения | Все клиентские приложения, обращающиеся к виртуальному хосту, должны поддерживать SNI. | Поддержка SNI требуется для всех приложений. |
Создайте виртуальный хост с помощью браузера
В большинстве примеров в этом разделе используется Edge API для создания или изменения виртуальных хостов, но вы можете создать виртуальный хост в пользовательском интерфейсе 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>
указывают хранилище ключей и псевдоним ключа, используемые соединением 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 для сертификата и закрытого ключа.
- Загрузите свой сертификат и ключ в хранилище ключей. Убедитесь, что имя домена, указанное в вашем сертификате, соответствует псевдониму хоста, который вы хотите использовать для виртуального хоста.
Создайте ссылку на хранилище ключей с помощью пользовательского интерфейса или API Edge. В ссылке указывается имя хранилища ключей и тип ссылки
KeyStore
. Дополнительную информацию о создании и изменении ссылок см. в разделе Работа со ссылками .- Создайте виртуальный хост с помощью API создания виртуального хоста . Обязательно укажите правильную ссылку на хранилище ключей и псевдоним ключа. Чтобы использовать API, используйте следующий вызов POST API для создания хранилища ключей с именем 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
Изменение виртуального хоста
Платные клиенты Cloud выполняют две основные задачи для изменения существующего виртуального хоста:
- Изменение значения ссылки на хранилище ключей или хранилище доверенных сертификатов.
Примечание . После того как вы установили<KeyStore>
или<TrustStore>
для использования ссылки, вы можете изменить значение ссылки в любое время. Однако если вы когда-нибудь захотите изменить<KeyStore>
или<TrustStore>
для использования другой ссылки или изменить<KeyAlias>
для использования другого псевдонима, вам необходимо обратиться в службу поддержки Apigee Edge . - Изменение свойств TLS виртуального хоста.
Изменение значения ссылки
Вы можете изменить значение ссылки, чтобы изменить хранилище ключей или хранилище доверенных сертификатов, используемое виртуальным хостом.
Прежде чем изменить значение ссылки:
- Создайте новое хранилище ключей и загрузите сертификат и ключ, как описано в разделе Создание хранилищ ключей и хранилища доверенных сертификатов с помощью пользовательского интерфейса Edge . В новом хранилище ключей убедитесь, что вы используете то же имя для псевдонима ключа, которое использовалось в существующем хранилище ключей .
- При необходимости создайте новое хранилище доверенных сертификатов и загрузите сертификат, как описано в разделе Создание хранилищ ключей и хранилища доверенных сертификатов с помощью пользовательского интерфейса Edge .
- Измените ссылку, как описано в разделе «Работа со ссылками» .
Изменение свойств TLS виртуального хоста
Платные клиенты могут использовать API обновления виртуального хоста для обновления виртуального хоста. Этот API позволяет вам установить все свойства виртуального хоста, описанные в разделе «Справочник по свойствам виртуального хоста» .
Когда вы изменяете виртуальный хост, Edge выполняет проверку, аналогичную той, которую вы создаете при создании виртуального хоста. То есть при изменении Edge проверяет, что:
- Домен, указанный в псевдониме хоста, не используется в другой организации и среде.
- Вы являетесь владельцем доменного имени. В частности, Edge проверяет, соответствует ли следующая информация в сертификате псевдониму хоста:
- CN — общее имя
- SAN – альтернативное имя субъекта
- Edge проверяет, что срок действия сертификата не истек.
Чтобы изменить виртуальный хост с помощью Edge API, выполните следующие действия:
Обновите виртуальный хост с помощью 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 , чтобы перезапустить пограничные маршрутизаторы и завершить процесс.