Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee X.info
В этом документе представлен обзор того, как настроить TLS на Edge для двух функциональных областей:
- Доступ к вашим API-прокси для API-клиентов. Используйте виртуальные хосты на пограничном маршрутизаторе для настройки TLS.
- Доступ к вашим внутренним службам осуществляется через Edge. Используйте целевые конечные точки и целевые серверы в обработчике сообщений Edge для настройки TLS.
Оба типа доступа показаны ниже:

О настройке параметров TLS на виртуальном хосте или целевой конечной точке/целевом сервере.
Виртуальный хост может быть представлен XML-объектом в следующем формате:
<VirtualHost name="secure">
...
<SSLInfo>
<Enabled>true</Enabled>
<ClientAuthEnabled>true</ClientAuthEnabled>
<KeyStore>ref://myKeystoreRef</KeyStore>
<KeyAlias>myKeyAlias</KeyAlias>
<TrustStore>ref://myTruststoreRef</TrustStore>
<IgnoreValidationErrors>false</IgnoreValidationErrors>
</SSLInfo>
</VirtualHost>Область виртуального хоста, которую вы изменяете для настройки TLS, определяется тегом <SSLInfo> . Тот же тег <SSLInfo> используется для настройки целевой конечной точки или целевого сервера.
В следующей таблице описаны элементы конфигурации TLS, используемые тегом <SSLInfo> :
| Элемент | Описание |
|---|---|
| <Включено> | Обеспечивает одностороннюю передачу TLS-трафика между Edge и API-клиентом или между Edge и целевым бэкэндом. Для виртуального хоста необходимо определить хранилище ключей, содержащее сертификат и закрытый ключ. |
| <ClientAuthEnabled> | Обеспечивает двустороннюю передачу TLS-трафика между Edge и API-клиентом или между Edge и целевым бэкэндом. Для включения двусторонней TLS обычно требуется настроить хранилище доверенных сертификатов на Edge. |
| <KeyStore> | Магазин ключей. |
| <KeyAlias> | Псевдоним, указанный при загрузке сертификата и закрытого ключа в хранилище ключей. |
| <TrustStore> | Магазин доверия. |
| <Игнорировать ошибки валидации> | Если значение равно true, Edge игнорирует ошибки сертификатов TLS. Это значение действительно при настройке TLS для целевых серверов и конечных точек, а также при настройке виртуальных хостов, использующих двусторонний TLS. Значение по умолчанию — false. При использовании с целевой конечной точкой/целевым сервером, если серверная система использует SNI и возвращает сертификат с отличительным именем субъекта (DN), не соответствующим имени хоста, игнорировать ошибку невозможно, и соединение прерывается. |
| <CommonName> | Если указано, задается значение, по которому проверяется общее имя целевого сертификата. Это значение допустимо только для конфигураций TargetEndpoint и TargetServer. Оно недопустимо для конфигураций VirtualHost. По умолчанию указанное значение точно совпадает с общим именем целевого сертификата. Например, использование При желании Apigee может выполнять сопоставление с использованием подстановочных символов, используя атрибут Например, общее имя, указанное как <CommonName wildcardMatch="true">*.myhost.com</CommonName> |
О настройке элементов <KeyStore> и <TrustStore>.
В приведенном выше примере с виртуальным хостом хранилище ключей и хранилище доверенных сертификатов указываются с помощью ссылок в следующем формате:
<KeyStore>ref://myKeystoreRef</KeyStore> <TrustStore>ref://myTruststoreRef</TrustStore>
Apigee настоятельно рекомендует всегда использовать ссылки на хранилище ключей и хранилище доверенных сертификатов. Ссылка — это переменная, содержащая имя хранилища ключей или хранилища доверенных сертификатов, а не прямое указание имени хранилища ключей. В этом примере:
-
myKeystoreRef— это ссылка, содержащая имя хранилища ключей. В этом примере имя хранилища ключей — myKeystore . -
myTruststoreRef— это ссылка, содержащая имя хранилища доверенных сертификатов. В этом примере имя хранилища доверенных сертификатов — myTruststore .
Когда срок действия сертификата истекает, необходимо обновить виртуальный хост или целевую конечную точку/целевой сервер, указав хранилище ключей или доверенных сертификатов, содержащих новый сертификат. Преимущество ссылки заключается в том, что вы можете изменить значение ссылки, чтобы изменить хранилище ключей или доверенных сертификатов, без необходимости изменять сам виртуальный хост или целевую конечную точку/целевой сервер:
- Для облачных клиентов : изменение значения ссылки не требует обращения в службу поддержки Apigee Edge .
- Для клиентов частного облака : изменение значения ссылки не требует перезапуска компонентов Edge, таких как маршрутизаторы и обработчики сообщений.
В качестве альтернативы вы можете указать имя хранилища ключей и имя хранилища доверенных сертификатов напрямую:
<KeyStore>myKeystore</KeyStore> <TrustStore>myTruststore</TrustStore>
Если вы напрямую укажете имя хранилища ключей или доверенных сертификатов, то клиентам облачной версии необходимо обратиться в службу поддержки Apigee Edge , а клиентам частного облака — перезапустить определенные компоненты Edge для обновления сертификата.
Третий вариант, предназначенный только для целевых конечных точек/целевого сервера, — использование переменных потока:
<KeyStore>{ssl.keystore}</KeyStore>
<TrustStore>{ssl.truststore}</TrustStore> Переменные потока работают для целевых конечных точек/целевых серверов и позволяют обновлять хранилище ключей или хранилище доверенных сертификатов, подобно ссылкам. Однако они не работают с виртуальными хостами и требуют передачи информации о хранилище ключей, псевдониме и хранилище доверенных сертификатов при каждом запросе.
Ограничения на использование ссылок на хранилища ключей и хранилища доверенных сертификатов.
Клиенты платного облака и все клиенты частного облака, настраивающие TLS, должны учитывать следующее ограничение при использовании ссылок на хранилища ключей и доверенных сертификатов:
- Использовать ссылки на хранилища ключей и доверенных сертификатов в виртуальных хостах можно только в том случае, если на маршрутизаторах Apigee завершается протокол TLS.
- Если перед маршрутизаторами Apigee установлен балансировщик нагрузки, и вы завершаете TLS-соединение на балансировщике нагрузки, то вы не сможете использовать ссылки на хранилище ключей и хранилище доверенных сертификатов в виртуальных хостах.
Если ваш существующий виртуальный хост использует буквальное имя хранилища ключей или хранилища доверенных сертификатов
В существующих виртуальных хостах на Edge может отсутствовать настройка для использования ссылок на хранилища ключей и доверенных сертификатов. В этом случае вы можете обновить виртуальный хост, чтобы он использовал такую ссылку.
Edge для облака
Чтобы изменить виртуальный хост и использовать ссылку на хранилище ключей, необходимо обратиться в службу поддержки Apigee Edge .
Edge для частного облака
Чтобы преобразовать виртуальный хост для использования ссылки:
- Обновите виртуальный хост, чтобы он использовал ссылку.
- Перезагрузите маршрутизаторы.
Информация об использовании сертификата и ключа бесплатной пробной версии Apigee.
Если у вас есть платная учетная запись Edge for Cloud и еще нет сертификата и ключа TLS, вы можете создать виртуальный хост, используя сертификат и ключ из бесплатной пробной версии Apigee. Это означает, что вы можете создать виртуальный хост, не создавая предварительно хранилище ключей.
В 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> Если вы используете двустороннюю TLS-аутентификацию, вам все равно необходимо установить элемент <ClientAuthEnabled> в true и указать хранилище доверенных сертификатов, используя ссылку с элементом <TrustStore> .
Дополнительные сведения см. в разделе «Настройка виртуальных хостов для облака» .
О настройке TLS
Способ настройки TLS определяется двумя основными факторами:
- Вы являетесь клиентом Edge Cloud или Private Cloud?
- Как вы собираетесь обновлять просроченные или истекающие сертификаты?
Параметры конфигурации облака и частного облака
В таблице ниже представлены различные варианты конфигурации для клиентов облачных и частных облачных решений:
| Частное облако | Облако | |
|---|---|---|
| Виртуальный хост | Полный контроль | Полный контроль доступен только для платных аккаунтов. |
| Целевая конечная точка/целевой сервер | Полный контроль | Полный контроль |
Клиенты Private Cloud имеют полный контроль над конфигурацией как виртуальных хостов, так и целевых конечных точек/целевых серверов. Этот контроль включает в себя возможность создания и удаления виртуальных хостов, а также установки всех свойств виртуального хоста.
Все клиенты Cloud, как платные, так и ознакомительные, имеют полный контроль над конфигурацией целевых конечных точек/целевых серверов. Кроме того, платные клиенты Cloud имеют полный контроль над виртуальными хостами, включая свойства TLS.
Обработка просроченных сертификатов
Если срок действия TLS-сертификата истекает или если конфигурация вашей системы изменяется таким образом, что сертификат становится недействительным, вам необходимо обновить сертификат. При настройке TLS для виртуального хоста или целевой конечной точки/целевого сервера следует определиться с способом выполнения обновления до начала каких-либо настроек.
Когда срок действия сертификата истекает
В Edge сертификаты хранятся в одном из двух мест:
- Хранилище ключей — содержит TLS-сертификат и закрытый ключ, используемые для идентификации объекта во время установления TLS-соединения.
- Truststore — содержит доверенные сертификаты TLS-клиента, используемые для проверки сертификата TLS-сервера, предоставленного клиенту. Как правило, это самоподписанные сертификаты, сертификаты, подписанные доверенным центром сертификации, или сертификаты, используемые в рамках двустороннего TLS-соединения.
Когда срок действия сертификата в хранилище ключей истекает, и вы используете ссылку на это хранилище , вы не можете загрузить новый сертификат в хранилище. Вместо этого вы:
- Создайте новое хранилище ключей.
- Загрузите новый сертификат в новое хранилище ключей , используя то же имя псевдонима, что и в старом хранилище ключей.
- Обновите ссылку в вашем виртуальном хосте или целевом сервере/целевой конечной точке, чтобы использовать новое хранилище ключей.
Когда срок действия сертификата в хранилище доверенных сертификатов истекает, и вы используете ссылку на это хранилище , вы:
- Создайте новое хранилище доверенных сертификатов.
- Загрузите новый сертификат в новое хранилище доверенных сертификатов. Имя псевдонима для хранилищ доверенных сертификатов не имеет значения. Примечание : если сертификат является частью цепочки, то необходимо либо создать один файл, содержащий все сертификаты, и загрузить этот файл под одним псевдонимом, либо загрузить все сертификаты из цепочки отдельно в хранилище доверенных сертификатов, используя разные псевдонимы для каждого сертификата.
- Обновите ссылку в вашем виртуальном хосте или целевом сервере/целевой конечной точке, чтобы использовать новое хранилище доверенных сертификатов.
Краткое описание методов обновления просроченного сертификата
Способ указания имени хранилища ключей и хранилища доверенных сертификатов на виртуальном хосте или целевом конечном устройстве/целевом сервере определяет способ обновления сертификата. Можно использовать:
- Ссылки
- Прямые имена
- Переменные потока
Каждый из этих методов имеет различные последствия для процесса обновления, как описано в следующей таблице. Как вы можете видеть, использование ссылок обеспечивает наибольшую гибкость как для клиентов облачных, так и частных облачных решений:
| Тип конфигурации | Как обновить/заменить сертификат | Частное облако | Облако |
|---|---|---|---|
| Рекомендация (справочник) | Для хранилища ключей создайте новое хранилище ключей с новым именем и псевдонимом с тем же именем , что и у старого псевдонима. Для создания хранилища доверенных сертификатов (truststore) необходимо задать новое имя . | Обновите ссылку на хранилище ключей или хранилище доверенных сертификатов. Перезагрузка маршрутизатора или процессора сообщений не требуется. | Обновите ссылку на хранилище ключей или хранилище доверенных сертификатов. Нет необходимости обращаться в службу поддержки Apigee. |
| Переменные потока (только для целевой конечной точки) | Для хранилища ключей создайте новое хранилище ключей с новым именем и псевдонимом с тем же именем или с новым именем. Для создания хранилища доверенных сертификатов (truststore) необходимо задать новое имя . | При каждом запросе передавайте обновленную переменную потока с именем нового хранилища ключей, псевдонима или хранилища доверенных сертификатов. Перезагрузка маршрутизатора или процессора сообщений не требуется. | При каждом запросе передавайте обновленную переменную потока с именем нового хранилища ключей, псевдонима или хранилища доверенных сертификатов. Нет необходимости обращаться в службу поддержки Apigee. |
| Прямой | Создайте новое хранилище ключей, псевдоним и хранилище доверенных сертификатов. | Обновите виртуальный хост и перезапустите маршрутизаторы. Если хранилище доверенных сертификатов используется целевой конечной точкой/целевым сервером, выполните повторное развертывание прокси-сервера. | Для виртуальных хостов обратитесь в службу поддержки Apigee Edge для перезапуска маршрутизаторов. Если хранилище доверенных сертификатов используется целевой конечной точкой/целевым сервером, выполните повторное развертывание прокси-сервера. |
| Прямой | Удалите хранилище ключей или доверенных сертификатов и создайте его заново с тем же именем. | Обновление виртуального хоста не требуется, перезапуск маршрутизатора не нужен. Однако запросы к API будут завершаться с ошибкой до тех пор, пока не будут установлены новое хранилище ключей и псевдоним. Если хранилище ключей используется для двустороннего TLS-соединения между Edge и серверной службой, перезапустите обработчики сообщений. | Обновление виртуального хоста не требуется. Однако запросы к API завершаются с ошибкой, пока не будут установлены новое хранилище ключей и псевдоним. Если хранилище ключей используется для двустороннего TLS-соединения между Edge и серверной службой, обратитесь в службу поддержки Apigee Edge для перезапуска обработчиков сообщений. |
| Прямой | Для хранилища доверенных сертификатов необходимо загрузить новый сертификат в это хранилище. | Если хранилище доверенных сертификатов используется виртуальным хостом, перезапустите маршрутизаторы. Если хранилище доверенных сертификатов используется целевой конечной точкой/целевым сервером, перезапустите обработчики сообщений. | Для виртуальных хостов обратитесь в службу поддержки Apigee Edge , чтобы перезапустить маршрутизаторы Edge. Если хранилище доверенных сертификатов используется целевой конечной точкой/целевым сервером, обратитесь в службу поддержки Apigee Edge для перезапуска обработчиков сообщений. |