Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X. Информация
Представление виртуального хоста
Объект XML, который вы используете для определения виртуального хоста, зависит от версии Edge: Cloud или Private Cloud.
Если вы используете частное облако, убедитесь, что XML-файл подходит для вашей версии Edge.
Облако и частное облако 4.17.01 и более поздние версии
<VirtualHost name="vhostName">
<Port>portNumber</Port>
<BaseUrl>http://myCo.com</BaseUrl>
<OCSPStapling>offOn</OCSPStapling>
<HostAliases>
<HostAlias>hostAlias</HostAlias>
</HostAliases>
<Interfaces>
<!-- Private Cloud only -->
<Interface>interfaceName</Interface>
</Interfaces>
<RetryOptions>
<RetryOption>option</RetryOption>
</RetryOptions>
<ListenOptions>
<ListenOption>option</ListenOption>
</ListenOptions>
<SSLInfo>
<Enabled>trueFalse</Enabled>
<ClientAuthEnabled>trueFalse</ClientAuthEnabled>
<KeyStore>ref://keystoreRef</KeyStore>
<KeyAlias>keyAlias</KeyAlias>
<TrustStore>ref://truststoreRef</TrustStore>
<IgnoreValidationErrors>trueFalse</IgnoreValidationErrors>
</SSLInfo>
<!-- UseBuiltInFreeTrialCert is for Edge Cloud only -->
<UseBuiltInFreeTrialCert>trueFalse</UseBuiltInFreeTrialCert>
<PropagateTLSInformation>
<!-- PropagateTLSInformation is Alpha in the Cloud only -->
<ConnectionProperties>trueFalse</ConnectionProperties>
<ClientProperties>trueFalse</ClientProperties>
</PropagateTLSInformation>
<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>
<!-- ssl_protocols is Private Cloud only -->
<Property name="ssl_protocols">protocolList</Property>
<Property name="ssl_ciphers">cipherList</Property>
</Properties>
</VirtualHost>Частное облако 4.16.01–4.16.09
<VirtualHost name="vhostName">
<Port>portNumber</Port>
<HostAliases>
<HostAlias>hostAlias</HostAlias>
</HostAliases>
<Interfaces>
<Interface>interfaceName</Interface>
</Interfaces>
<SSLInfo>
<Enabled>trueFalse</Enabled>
<ClientAuthEnabled>trueFalse</ClientAuthEnabled>
<KeyStore>ref://keystoreRef</KeyStore>
<KeyAlias>keyAlias</KeyAlias>
<TrustStore>ref://truststoreRef</TrustStore>
<IgnoreValidationErrors>trueFalse</IgnoreValidationErrors>
</SSLInfo>
</VirtualHost>Частное облако 4.15.07 и более ранние версии
<VirtualHost name="vhostName">
<Port>portNumber</Port>
<HostAliases>
<HostAlias>hostAlias</HostAlias>
</HostAliases>
<Interfaces>
<Interface>interfaceName</Interface>
</Interfaces>
<SSLInfo>
<Enabled>trueFalse</Enabled>
<ClientAuthEnabled>trueFalse</ClientAuthEnabled>
<KeyStore>keystore</KeyStore>
<KeyAlias>keyAlias</KeyAlias>
<TrustStore>truststore</TrustStore>
<IgnoreValidationErrors>trueFalse</IgnoreValidationErrors>
<Ciphers>
<Cipher>cipher</Cipher>
<Cipher>cipher</Cipher>
</Ciphers>
<Protocols>
<Protocol>protocol</Protocol>
<Protocol>protocol</Protocol>
</Protocols>
</SSLInfo>
</VirtualHost>Свойства конфигурации виртуального хоста
В таблице ниже перечислены свойства, которые используются для настройки виртуального хоста.
| Свойства | Описание | По умолчанию | Обязательно | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| VirtualHost |
Указывает название виртуального хоста. Это название используется для ссылки на виртуальный хост при настройке прокси-сервера API. В атрибуте name можно использовать только следующие символы: A–Z, 0–9, . _ \ – $%. |
Нет | Да | ||||||||||||
| Порт |
Указывает номер порта, используемый виртуальным хостом. Убедитесь, что порт открыт на пограничном маршрутизаторе. Если вы укажете порт в элементе Для облака: при создании виртуального хоста необходимо указать порт 443. Если этот параметр не указан, по умолчанию используется порт 443. Если у вас уже есть виртуальный хост, использующий порт, отличный от 443, вы не сможете изменить порт. Для версий Private Cloud 4.16.01–4.17.05: при создании виртуального хоста вы указываете порт маршрутизатора, используемый виртуальным хостом. Например, port 9001. По умолчанию маршрутизатор работает от имени пользователя apigee, у которого нет доступа к привилегированным портам (обычно это порты 1024 и ниже). Если вы хотите создать виртуальный хост, который привязывает маршрутизатор к защищенному порту, настройте маршрутизатор так, чтобы он работал как пользователь с доступом к этим портам. Подробнее о том, как настроить виртуальный хост… Для версий Private Cloud до 4.16.01: маршрутизатор может прослушивать только одно HTTPS-подключение для каждого виртуального хоста на определенном порту с указанным сертификатом. Поэтому несколько виртуальных хостов не могут использовать один и тот же номер порта, если завершение TLS происходит на маршрутизаторе на указанном порту. |
Нет | Да | ||||||||||||
| BaseUrl | Переопределяет URL, который интерфейс Edge показывает для прокси-сервера API, развернутого на виртуальном хосте. Удобно использовать, когда перед маршрутизаторами Edge находится внешний балансировщик нагрузки. Подробнее о настройке доступа к API по протоколу TLS для частного облака…
Значение |
Нет | Нет | ||||||||||||
| OCSPStapling |
Клиент OCSP (протокола проверки статуса сертификата в реальном времени) отправляет запрос статуса ответчику OCSP, чтобы определить, действителен ли сертификат TLS. Ответ показывает, действителен ли сертификат TLS и не отозван ли он. Если прикрепление OCSP включено, Edge, выступая в качестве TLS-сервера для одностороннего TLS, может напрямую запрашивать ответчик OCSP и кешировать ответ. Затем Edge возвращает этот ответ клиенту TLS или прикрепляет его как часть рукопожатия TLS. Подробнее о том, как включить прикрепление OCSP на сервере… Чтобы включить прикрепление OCSP, необходимо включить TLS. Чтобы включить функцию, установите значение |
отключено | Нет | ||||||||||||
| HostAliases | |||||||||||||||
| HostAlias |
Общедоступное имя DNS виртуального хоста на маршрутизаторе, при необходимости включающее номер порта. Сочетание псевдонима хоста и номера порта для виртуального хоста должно быть уникальным для всех виртуальных хостов в установке Edge. Это означает, что несколько виртуальных хостов могут использовать один и тот же номер порта, если у них разные псевдонимы хостов. Вам необходимо создать запись DNS и запись CNAME, которые соответствуют псевдониму хоста. Псевдоним хоста должен соответствовать строке, которую клиент передает в заголовке Номер порта в В одном определении виртуального хоста может быть несколько определений В псевдоним хоста можно добавить подстановочный знак "*". Подстановочный знак "*" может быть только в начале псевдонима хоста (перед первой точкой) и не может использоваться вместе с другими символами.
(пример: Для Cloud. Если у вас есть виртуальный хост, который использует порт, отличный от 443, вы не сможете добавить или удалить псевдоним хоста. Для частного облака. Если вы задаете псевдоним хоста, используя IP-адреса маршрутизаторов, а не записи DNS, добавьте отдельный псевдоним хоста для каждого маршрутизатора, указав IP-адрес каждого маршрутизатора и порт виртуального хоста. |
Нет | Да | ||||||||||||
| Интерфейсы | Доступно только для Edge Private Cloud. | ||||||||||||||
| Интерфейс |
Указывает сетевые интерфейсы, к которым нужно привязать Например, чтобы привязать порт только к en0, укажите: <Interfaces> <Interface>en0</Interface> </Interfaces> Чтобы определить, какие интерфейсы доступны в вашей системе, выполните команду "ifconfig -a". |
Нет | Все интерфейсы | ||||||||||||
| RetryOptions | Доступно для Edge Cloud и Private Cloud 4.18.01 и более поздних версий. | ||||||||||||||
| RetryOption |
Настройте реакцию маршрутизатора для этого виртуального хоста, когда Message Processor перестанет работать. Вы можете указать несколько значений, используя
Если вы укажете несколько значений, маршрутизатор объединит их с помощью логического оператора ИЛИ. Пример: <RetryOptions> <RetryOption>http_599</RetryOption> <RetryOption>error</RetryOption> <RetryOption>timeout</RetryOption> <RetryOption>invalid_header</RetryOption> </RetryOptions> |
||||||||||||||
| ListenOptions | Доступно для Private Cloud 4.18.01 и более поздних версий, а также для Edge Cloud по запросу в службу поддержки Apigee Edge. | ||||||||||||||
| ListenOption |
Если вы используете ELB в режиме сквозной передачи TCP для обработки запросов к пограничным маршрутизаторам, маршрутизатор будет считать IP-адрес ELB клиентским IP-адресом, а не фактическим клиентским IP-адресом. Если маршрутизатору требуется настоящий IP-адрес клиента, включите Значение по умолчанию для Пример: <ListenOptions> <ListenOption>proxy_protocol</ListenOption> </ListenOptions> Чтобы позже отменить значение |
||||||||||||||
| SSLInfo | |||||||||||||||
| Включено |
Включает одностороннее шифрование TLS/SSL. У вас должно быть определено хранилище ключей, содержащее сертификат и закрытый ключ. Для облака. У вас должен быть сертификат, подписанный надежной организацией, например Symantec или VeriSign. Нельзя использовать самозаверяющие сертификаты или конечные сертификаты, подписанные самозаверяющим центром сертификации. Для облака. Если существующий виртуальный хост настроен на использование порта, отличного от 443, вы не сможете изменить настройки TLS. Это означает, что вы не можете изменить настройку TLS с включенной на отключенную или наоборот. |
false | Нет | ||||||||||||
| ClientAuthEnabled | Включает двусторонний TLS или TLS клиента между Edge (сервером) и приложением (клиентом), выполняющим запрос. Чтобы включить двусторонний протокол TLS, необходимо настроить хранилище доверенных сертификатов в Edge, которое содержит сертификат клиента TLS. | false | Нет | ||||||||||||
| KeyStore |
Название хранилища ключей в Edge. Apigee рекомендует использовать ссылку, чтобы указать название хранилища ключей. Это позволит вам изменять хранилище ключей без перезапуска маршрутизаторов. Подробнее о вариантах настройки TLS… |
Нет | Да, если параметр "Включено" имеет значение true | ||||||||||||
| KeyAlias | Псевдоним, указанный при загрузке сертификата и закрытого ключа в хранилище ключей. Псевдоним нужно указать буквально, без ссылок. Подробнее о вариантах настройки TLS… | Нет | Да, если параметр "Включено" имеет значение true | ||||||||||||
| TrustStore |
Название хранилища доверия в Edge, содержащего сертификат или цепочку сертификатов, используемых для двустороннего протокола TLS. Обязательно, если значение Apigee рекомендует использовать ссылку, чтобы указать имя хранилища доверенных сертификатов. Это позволит вам изменить хранилище без перезапуска маршрутизаторов. Подробнее о вариантах настройки TLS… |
Нет | Нет | ||||||||||||
| IgnoreValidationErrors |
Если значение равно true, ошибки сертификата TLS игнорируются. Это похоже на параметр -k в cURL. Этот вариант действителен при настройке TLS для целевых серверов и целевых конечных точек, а также при настройке виртуальных хостов, использующих двусторонний TLS. Если при использовании целевой конечной точки или целевого сервера серверная система использует SNI и возвращает сертификат с различающимся именем субъекта, которое не совпадает с именем хоста, ошибку нельзя проигнорировать, и подключение завершается неудачно. |
false | Нет | ||||||||||||
| Шифры |
Только для Edge for Private Cloud версии 4.15.07 и более ранних. Указывает шифры, поддерживаемые виртуальным хостом. Если шифры не указаны, будут разрешены все шифры, доступные для JVM. Чтобы ограничить шифры, добавьте следующие элементы: <Ciphers> <Cipher>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA</Cipher> <Cipher>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256</Cipher> </Ciphers> |
Все поддерживаемые JVM | Нет | ||||||||||||
| Протоколы |
Только для Edge for Private Cloud версии 4.15.07 и более ранних. Указывает протоколы, поддерживаемые виртуальным хостом. Если протоколы не указаны, будут разрешены все протоколы, доступные для JVM. Чтобы ограничить протоколы, добавьте следующие элементы: <Protocols> <Protocol>TLSv1</Protocol> <Protocol>TLSv1.2</Protocol> <Protocol>SSLv2Hello</Protocol> </Protocols> |
Все поддерживаемые JVM | Нет | ||||||||||||
| UseBuiltInFreeTrialCert | Доступно только для Edge Cloud. | ||||||||||||||
| UseBuiltInFreeTrialCert |
Если у вас платный аккаунт Edge for Cloud и у вас ещё нет сертификата и ключа TLS, вы можете создать виртуальный хост, который использует бесплатный пробный сертификат и ключ Apigee. Это означает, что вы можете создать виртуальный хост, не создавая хранилище ключей. Бесплатный пробный сертификат Apigee определен для домена Подробнее о том, как определить виртуальный хост, использующий бесплатный пробный сертификат и ключ Apigee… |
false | Нет | ||||||||||||
| PropagateTLSInformation | Доступно в альфа-версии только для Edge Cloud. | ||||||||||||||
| ConnectionProperties |
Включает сбор информации о TLS-подключении с помощью Edge. Затем эта информация становится доступна в виде переменных потока в прокси-сервере API. Подробнее о том, как получить доступ к информации о подключении TLS в прокси-сервере API… |
false | Нет | ||||||||||||
| ClientProperties |
Включает сбор сведений о сертификате клиента, полученных Edge при двустороннем TLS-подключении. Затем эта информация становится доступна в виде переменных потока в прокси-сервере API. Подробнее о том, как получить доступ к информации о подключении TLS в прокси-сервере API… |
false | Нет | ||||||||||||
| Ресурсы | Доступно для Edge Cloud и Private Cloud 4.17.01 и более поздних версий. | ||||||||||||||
| proxy_read_timeout |
Устанавливает продолжительность времени ожидания (в секундах) между процессорами сообщений и маршрутизатором. Если маршрутизатор не получит от процессора сообщений ответ до истечения этого времени, он разорвет подключение и вернет ответ HTTP 504. Значение proxy_read_timeout должно быть больше целевого значения времени ожидания, используемого процессором сообщений. Это гарантирует, что маршрутизатор не отключится по истечении времени ожидания до того, как Message Processor успеет вернуть ответ. По умолчанию целевое время ожидания для Message Processor составляет 55 секунд (55 000 миллисекунд), как определено токеном |
57 | Нет | ||||||||||||
| keepalive_timeout |
Устанавливает время ожидания (в секундах) между клиентом и маршрутизатором, когда клиент отправляет запрос, содержащий заголовок Keep-Alive. Маршрутизатор поддерживает подключение, пока не истечет срок действия. Маршрутизатор не закроет подключение, если в данный момент ожидает ответа от обработчика сообщений. Время ожидания начинает отсчитываться только после того, как маршрутизатор возвращает ответ клиенту. |
65 | Нет | ||||||||||||
| ssl_ciphers |
Задает шифры, поддерживаемые виртуальным хостом, переопределяя шифры по умолчанию, заданные в маршрутизаторе. Укажите список шифров, разделенных двоеточием, в следующем формате: <Property name="ssl_ciphers">HIGH:!aNULL:!MD5:!DH+3DES:!kEDH;</Property> Чтобы узнать больше о синтаксисе и допустимых значениях этого токена, перейдите на страницу https://www.openssl.org/docs/man1.0.2/man1/ciphers.html. Обратите внимание, что в этом токене используются названия шифров OpenSSL, например AES128-SHA256, а не названия шифров Java/JSSE, например TLS_RSA_WITH_AES_128_CBC_SHA256. |
HIGH:!aNULL:
!MD5: !DH+3DES: !kEDH |
Нет | ||||||||||||
| ssl_protocols |
Доступно только для Edge Private Cloud. Задает протоколы TLS, поддерживаемые виртуальным хостом, в виде списка, разделенного пробелами, переопределяя протоколы по умолчанию, заданные в маршрутизаторе. Примечание. Если два виртуальных хоста используют один и тот же порт, для них должны быть заданы одинаковые протоколы в поле Укажите список протоколов TLS через пробел в следующем формате: <Property name="ssl_protocols">TLSv1 TLSv1.2</Property> |
TLSv1, TLSv1.1, TLSv1.2 | Нет | ||||||||||||
| proxy_request_buffering |
Включает (on) или отключает (off) буферизацию тела запроса. Если буферизация включена, маршрутизатор буферизует весь текст запроса, прежде чем отправить его обработчику сообщений. Если произойдет ошибка, маршрутизатор может повторить попытку с другим процессором сообщений. Если буферизация отключена, тело запроса отправляется в Message Processor сразу после получения. Если произойдет ошибка, маршрутизатор не будет повторять запрос к другому процессору сообщений. |
включено | Нет | ||||||||||||
| proxy_buffering | Включает (on) или отключает (off) буферизацию ответа. Если буферизация включена, маршрутизатор буферизует ответ. Если буферизация отключена, ответ передается клиенту синхронно, сразу после того, как он получен маршрутизатором. | включено | Нет | ||||||||||||