Справочник по свойствам виртуального хоста

Вы просматриваете документацию 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>

Частное облако с 16.04.01 по 16.04.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>

Свойства конфигурации виртуального хоста

В следующей таблице перечислены свойства, которые вы используете для настройки виртуального хоста:

Характеристики Описание По умолчанию Необходимый
Виртуальныйхост

Указывает имя виртуального хоста. Вы используете это имя для ссылки на виртуальный хост при настройке прокси-сервера API.

Символы, которые можно использовать в атрибуте имени, ограничены: A-Z0-9._\-$%.

Никто Да
Порт

Указывает номер порта, используемый виртуальным хостом. Убедитесь, что порт открыт на пограничном маршрутизаторе.

Если вы указываете порт в элементе hostalias , то номер порта, указанный в ort> должен совпадать с ним.

Для облака : при создании виртуального хоста необходимо указать порт 443. Если этот параметр опущен, по умолчанию для порта установлено значение 443. Если у вас есть существующий виртуальный хост, который использует порт, отличный от 443, вы не можете изменить порт.

Для выпусков частного облака с 4.16.01 по 4.17.05: при создании виртуального хоста вы указываете порт маршрутизатора, используемый виртуальным хостом. Например, порт 9001. По умолчанию маршрутизатор работает от имени пользователя «apigee», у которого нет доступа к привилегированным портам, обычно портам 1024 и ниже. Если вы хотите создать виртуальный хост, который привязывает маршрутизатор к защищенному порту, вам необходимо настроить маршрутизатор для работы от имени пользователя с доступом к этим портам. Дополнительную информацию см. в разделе Настройка виртуального хоста .

Для выпусков частного облака до 4.16.01: маршрутизатор может прослушивать только одно HTTPS-соединение на каждый виртуальный хост на определенном порту с указанным сертификатом. Таким образом, несколько виртуальных хостов не могут использовать один и тот же номер порта, если на маршрутизаторе на указанном порту происходит завершение TLS.

Никто Да
Базовый URL-адрес Переопределяет URL-адрес, отображаемый пользовательским интерфейсом Edge для прокси-сервера API, развернутого на виртуальном хосте. Полезно, когда у вас есть внешний балансировщик нагрузки перед пограничными маршрутизаторами. Дополнительные сведения см. в разделе Настройка доступа TLS к API для частного облака .

Значение BaseUrl должно включать протокол (т. е. «http://» или «https://»).

Никто Нет
OCSPСшивание

Клиент OCSP (протокол онлайн-статуса сертификатов) отправляет запрос состояния ответчику OCSP, чтобы определить, действителен ли сертификат TLS. В ответе указывается, действителен ли сертификат TLS и не отозван.

Если эта функция включена, сшивание OCSP позволяет Edge, выступая в качестве сервера TLS для одностороннего TLS, напрямую запрашивать ответчик OCSP, а затем кэшировать ответ. Затем Edge возвращает этот ответ клиенту TLS или закрепляет его в рамках подтверждения связи TLS. Дополнительную информацию см. в разделе «Включение сшивания OCSP на вашем сервере» .

Чтобы включить сшивание OCSP, необходимо включить TLS. Установите значение on , чтобы включить. Значение по умолчанию off .

выключенный Нет
Псевдонимы хоста
Псевдоним хоста

Общедоступное DNS-имя виртуального хоста на маршрутизаторе, необязательно включая номер порта. Комбинация псевдонима хоста и номера порта для виртуального хоста должна быть уникальной для всех виртуальных хостов в установке Edge. Это означает, что несколько виртуальных хостов могут использовать один и тот же номер порта, если у них разные псевдонимы хоста.

Необходимо создать запись DNS и запись CNAME, соответствующую псевдониму узла, а псевдоним узла должен соответствовать строке, которую клиент передает в заголовке Host .

Номер порта в HostAlias ​​не является обязательным. Если вы указываете порт как часть псевдонима хоста, вы также должны указать тот же порт с помощью элемента <Port> . Или вы можете указать два элемента HostAlias : один с номером порта, а другой без него.

В одном определении виртуального хоста может быть несколько определений HostAlias , что соответствует нескольким записям DNS для виртуального хоста, но не для нескольких портов. Если вам нужно несколько портов, создайте несколько определений виртуальных хостов с разными портами.

В псевдоним узла можно включить подстановочный знак «*». Подстановочный знак «*» может находиться только в начале (перед первым «.») псевдонима хоста и не может смешиваться с другими символами. Например *.example.com . Сертификат TLS для виртуального хоста должен содержать соответствующий подстановочный знак в имени CN сертификата. Например, *.example.com . Использование подстановочного знака в псевдониме виртуального хоста позволяет прокси-серверам API обрабатывать вызовы, адресованные нескольким поддоменам, таким как alpha.example.com , beta.example.com или live.example.com . Использование подстановочного псевдонима также помогает вам использовать меньше виртуальных хостов в каждой среде, чтобы не выходить за пределы продукта , поскольку виртуальный хост с подстановочным знаком считается только одним виртуальным хостом.

Для облака : если у вас есть виртуальный хост, который использует порт, отличный от 443, вы не можете добавить или удалить псевдоним хоста.

Для частного облака: если вы устанавливаете псевдоним хоста, используя IP-адреса ваших маршрутизаторов, а не записи DNS, добавьте отдельный псевдоним хоста для каждого маршрутизатора, указав IP-адрес каждого маршрутизатора и порт виртуального хоста.

Никто Да
Интерфейсы Доступно только для Edge для частного облака.
Интерфейс

Указывает сетевые интерфейсы, к которым вы хотите привязать port . Если вы опустите этот элемент, порт будет привязан ко всем интерфейсам.

Например, чтобы указать привязку порта только к en0:

<Interfaces>
  <Interface>en0</Interface>
</Interfaces>

Определите интерфейсы, доступные в вашей системе, выполнив команду ifconfig -a.

Никто Все интерфейсы
Параметры повтора Доступно для Edge Cloud и Private Cloud 4.18.01 и более поздних версий.
Опция повтора

Настройте реакцию маршрутизатора для этого виртуального хоста при отключении процессора сообщений.

Вы можете указать несколько значений, используя <RetryOption> . Допустимые значения включают в себя:

off Отключает повторную попытку, и виртуальный хост возвращает код ошибки по запросу.
http_599 (По умолчанию) Если маршрутизатор получает ответ HTTP 599 от процессора сообщений, маршрутизатор перенаправляет запрос следующему процессору сообщений.

HTTP 599 — это специальный код ответа, который генерируется процессором сообщений при его выключении. Процессор сообщений пытается выполнить все существующие запросы, но на любые новые запросы он отвечает HTTP 599, сигнализируя маршрутизатору о необходимости повторить запрос на следующем процессоре сообщений.

error Если при установлении соединения с Обработчиком сообщений, передаче ему запроса или чтении от него заголовка ответа произошла ошибка, Маршрутизатор перенаправляет запрос следующему Обработчику сообщений.
timeout Если при установлении соединения с процессором сообщений, передаче ему запроса или чтении от него заголовка ответа возникает таймаут, маршрутизатор перенаправляет запрос следующему процессору сообщений.
invalid_header Если процессор сообщений вернул пустой или недействительный ответ, маршрутизатор перенаправляет запрос следующему процессору сообщений.
http_ XXX Если процессор сообщений вернул ответ с HTTP-кодом XXX , маршрутизатор перенаправляет запрос следующему процессору сообщений.

Если вы укажете несколько значений, Маршрутизатор использует логическое ИЛИ для их объединения.

Например:

<RetryOptions>
  <RetryOption>http_599</RetryOption>
  <RetryOption>error</RetryOption>
  <RetryOption>timeout</RetryOption>
  <RetryOption>invalid_header</RetryOption>
</RetryOptions>
Параметры прослушивания Доступно для Private Cloud 4.18.01 и более поздних версий, а также для Edge Cloud, отправив запрос в службу поддержки Apigee Edge .
ListenOption

Если вы используете ELB в режиме сквозной передачи TCP для обработки запросов к пограничным маршрутизаторам, маршрутизатор обрабатывает IP-адрес ELB как IP-адрес клиента, а не фактический IP-адрес клиента. Если маршрутизатору требуется настоящий IP-адрес клиента, включите proxy_protocol на ELB, чтобы он передавал IP-адрес клиента в TCP-пакете. На маршрутизаторе вы также должны установить для <ListenOption> на виртуальном хосте значение proxy_protocol . Поскольку ELB находится в режиме сквозной передачи TCP, вы обычно завершаете TLS на маршрутизаторе. Поэтому вы обычно настраиваете виртуальный хост на использование proxy_protocol только тогда, когда вы также настраиваете его на использование TLS.

Значением по умолчанию для <ListenOption> является пустая строка.

Например:

<ListenOptions>
  <ListenOption>proxy_protocol</ListenOption>
</ListenOptions>

Чтобы позже отключить <ListenOption> , обновите виртуальный хост и исключите тег <ListenOptions> из обновления.

SSLInfo
Включено

Включает односторонний TLS/SSL. Вы должны определить хранилище ключей, содержащее сертификат и закрытый ключ.

Для облака : у вас должен быть сертификат, подписанный доверенным лицом, например Symantec или VeriSign. Вы не можете использовать самозаверяющий сертификат или листовые сертификаты, подписанные самозаверяющим центром сертификации.

Для облака : если ваш существующий виртуальный хост настроен на использование порта, отличного от 443, вы не можете изменить настройку TLS. Это означает, что вы не можете изменить настройку TLS с включенного на отключенное или с отключенного на включенное.

ЛОЖЬ Нет
КлиентАусенаблед Включает двусторонний, или клиентский, TLS между Edge (сервером) и приложением (клиентом), отправляющим запрос. Для включения двустороннего TLS необходимо настроить хранилище доверенных сертификатов на Edge, содержащее сертификат от клиента TLS. ЛОЖЬ Нет
хранилище ключей

Имя хранилища ключей в Edge.

Apigee рекомендует использовать ссылку для указания имени хранилища ключей, чтобы можно было изменить хранилище ключей без перезапуска маршрутизаторов. Дополнительные сведения см. в разделе «Параметры настройки TLS» .

Никто Да, если «Включено» имеет значение true
Ключевой псевдоним Псевдоним, указанный при загрузке сертификата и закрытого ключа в хранилище ключей. Имя псевдонима необходимо указывать буквально; вы не можете использовать ссылку. Дополнительные сведения см. в разделе «Параметры настройки TLS» . Никто Да, если «Включено» имеет значение true
TrustStore

Имя хранилища доверенных сертификатов на Edge, которое содержит сертификат или цепочку сертификатов, используемую для двустороннего TLS. Требуется, если <ClientAuthEnabled> имеет значение true.

Apigee рекомендует использовать ссылку для указания имени хранилища доверенных сертификатов, чтобы можно было изменить хранилище доверенных сертификатов без необходимости перезапускать маршрутизаторы. Дополнительные сведения см. в разделе «Параметры настройки TLS» .

Никто Нет
Игнорировать ошибки валидации

Если это правда, указывает игнорировать ошибки сертификата TLS. Это похоже на опцию «-k» для cURL.

Этот параметр действителен при настройке TLS для целевых серверов и целевых конечных точек, а также при настройке виртуальных хостов, использующих двусторонний TLS.

Если при использовании с целевой конечной точкой/целевым сервером внутренняя система использует SNI и возвращает сертификат с отличительным именем (DN) субъекта, которое не соответствует имени хоста, игнорировать ошибку невозможно, и соединение завершается неудачей.

ЛОЖЬ Нет
Шифры

Только для 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 Нет
ИспользоватьBuiltInFreeTrialCert Доступно только для Edge Cloud.
ИспользоватьBuiltInFreeTrialCert

Если у вас есть платная учетная запись Edge for Cloud и еще нет сертификата и ключа TLS, вы можете создать виртуальный хост, который использует сертификат и ключ бесплатной пробной версии Apigee. Это означает, что вы можете создать виртуальный хост без предварительного создания хранилища ключей.

Сертификат бесплатной пробной версии Apigee определен для домена *.apigee.net . Следовательно, <HostAlias> виртуального хоста также должен быть в форме *.apigee.net .

См. раздел Определение виртуального хоста, использующего сертификат и ключ бесплатной пробной версии Apigee .

ЛОЖЬ Нет
Распространение информации TLS Доступно только в альфа-версии для Edge Cloud.
Свойства соединения

Включает сбор информации о соединении TLS с помощью Edge. Эта информация затем доступна в виде переменных потока в прокси-сервере API. Дополнительные сведения см. в разделе Доступ к информации о подключении TLS через прокси-сервер API .

ЛОЖЬ Нет
Свойства клиента

Включает сбор сведений о сертификатах клиента, полученных Edge, в двустороннем TLS. Эта информация затем доступна в виде переменных потока в прокси-сервере API. Дополнительные сведения см. в разделе Доступ к информации о подключении TLS через прокси-сервер API .

ЛОЖЬ Нет
Характеристики Доступно для Edge Cloud и Private Cloud 4.17.01 и более поздних версий.
proxy_read_timeout

Устанавливает продолжительность тайм-аута в секундах между процессорами сообщений и маршрутизатором. Маршрутизатор разрывает соединение и возвращает ответ HTTP 504, если он не получает ответа от процессора сообщений до истечения этого периода.

Значение proxy_read_timeout должно быть больше целевого значения таймаута, используемого процессором сообщений. Это гарантирует, что маршрутизатор не истечет по тайм-ауту до того, как процессор сообщений успеет вернуть ответ. Целевой тайм-аут по умолчанию для процессора сообщений составляет 55 секунд, 55 000 миллисекунд, как определено токеном conf_http_HTTPTransport.io.timeout.millis для процессора сообщений.

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.

ВЫСОКИЙ:!aNULL:

!MD5:

!ДХ+3DES:

!kEDH

Нет
ssl_protocols

Доступно только для Edge для частного облака.

Устанавливает протоколы TLS, поддерживаемые виртуальным хостом, в виде списка, разделенного пробелами, переопределяя протоколы по умолчанию, установленные на маршрутизаторе.

Примечание . Если два виртуальных хоста используют один и тот же порт, они должны установить в ssl_protocols одни и те же протоколы. Это означает, что виртуальные хосты, использующие один и тот же порт, должны поддерживать одни и те же протоколы.

Укажите список протоколов TLS, разделенный пробелами, в форме:

<Property name="ssl_protocols">TLSv1 TLSv1.2</Property>
TLSv1 TLSv1.1 TLSv1.2 Нет
proxy_request_buffering

Включает (вкл.) или отключает (выкл.) буферизацию тела запроса. Когда буферизация включена, маршрутизатор буферизует все тело запроса перед отправкой его процессору сообщений. В случае ошибки маршрутизатор может повторить попытку использования другого процессора сообщений.

Если выключено, буферизация отключена, и тело запроса отправляется процессору сообщений сразу после его получения. В случае ошибки Маршрутизатор не повторяет запрос к другому процессору сообщений.

на Нет
proxy_buffering Включает (вкл.) или отключает (выкл.) буферизацию ответа. Когда буферизация включена, маршрутизатор буферизует ответ. Когда буферизация отключена, ответ передается клиенту синхронно, сразу же после его получения маршрутизатором. на Нет