Справочник по эксплуатации и настройке Edge Microgateway

Вы просматриваете документацию по Apigee Edge.
См. документацию по Apigee X.

Пограничный микрошлюз v. 2.3.x

Обзор

В этом разделе обсуждается, как управлять и настраивать Edge Microgateway, включая мониторинг, ведение журнала и отладку.

Внесение изменений в конфигурацию

Файлы конфигурации, о которых вам нужно знать, включают:

  • Файл конфигурации системы по умолчанию
  • Файл конфигурации по умолчанию для вновь инициализированного экземпляра Edge Microgateway
  • Файл динамической конфигурации для запущенных экземпляров

В этом разделе обсуждаются эти файлы и что вам нужно знать об их изменении. Дополнительные сведения о параметрах файла конфигурации см. в справочнике по настройке Edge Microgateway .

Файл конфигурации системы по умолчанию

При установке Edge Microgateway здесь размещается файл конфигурации системы по умолчанию:

[prefix]/lib/node_modules/edgemicro/config/default.yaml

где [prefix] — каталог префикса npm . См. Где установлен Edge Microgateway .

Если вы измените файл конфигурации системы, вы должны повторно инициализировать, перенастроить и перезапустить Edge Microgateway:

  1. Вызов edgemicro init
  2. Вызов edgemicro configure [params]
  3. Вызов edgemicro start [params]

Файл конфигурации по умолчанию для вновь инициализированных экземпляров Edge Microgateway

Когда вы запускаете edgemicro init , файл конфигурации системы (описанный выше), default.yaml , помещается в этот каталог: ~ /.edgemicro

Если вы измените файл конфигурации в ~ /.edgemicro , вы должны перенастроить и перезапустить Edge Microgateway:

  1. edgemicro stop
  2. edgemicro configure [params]
  3. edgemicro start [params]

Файл динамической конфигурации для запущенных экземпляров

Когда вы запускаете edgemicro configure [params] , файл динамической конфигурации создается в ~ /.edgemicro . Имя файла соответствует следующему шаблону: [org]-[env]-config.yaml , где org и env — это имена вашей организации и среды Apigee Edge. Вы можете использовать этот файл для внесения изменений в конфигурацию, а затем перезагружать их без простоев. Например, если вы добавите и настроите подключаемый модуль, вы сможете перезагрузить конфигурацию без простоев, как описано ниже.

Если Edge Microgateway работает (опция нулевого времени простоя):

  1. Перезагрузите конфигурацию Edge Microgateway:
    edgemicro reload -o [org] -e [env] -k [key] -s [secret]
    

    Где:

    • org — это название вашей организации Edge (вы должны быть администратором организации).
    • env — это среда в вашей организации (например, test или prod).
    • key — это ключ, ранее возвращенный командой configure.
    • secret — это ключ, ранее возвращенный командой configure.

    Пример

    edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d000723 -s 05c14356e42ed136b8dd35cf8a18531ff52d7299134677e30ef4e34ab0cc824
    

Если Edge Microgateway остановлен:

  1. Перезапустите Edge Microgateway:
    edgemicro start -o [org] -e [env] -k [key] -s [secret]
    

    Где:

    • org — это название вашей организации Edge (вы должны быть администратором организации).
    • env — это среда в вашей организации (например, test или prod).
    • key — это ключ, ранее возвращенный командой configure.
    • secret — это ключ, ранее возвращенный командой configure.

    Пример

    edgemicro start -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d000723 -s 05c14356e42ed136b8dd35cf8a18531ff52d7299134677e30ef4e34ab0cc824
    

Вот пример файла конфигурации. Дополнительные сведения о параметрах файла конфигурации см. в справочнике по настройке Edge Microgateway .

edge_config:
  bootstrap: >-
    https://edgemicroservices-us-east-1.apigee.net/edgemicro/bootstrap/organization/docs/environment/test
  jwt_public_key: 'https://docs-test.apigee.net/edgemicro-auth/publicKey'
  managementUri: 'https://api.enterprise.apigee.com'
  vaultName: microgateway
  authUri: 'https://%s-%s.apigee.net/edgemicro-auth'
  baseUri: >-
    https://edgemicroservices.apigee.net/edgemicro/%s/organization/%s/environment/%s
  bootstrapMessage: Please copy the following property to the edge micro agent config
  keySecretMessage: The following credentials are required to start edge micro
  products: 'https://docs-test.apigee.net/edgemicro-auth/products'
edgemicro:
  port: 8000
  max_connections: 1000
  max_connections_hard: 5000
  config_change_poll_interval: 600
  logging:
    level: error
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24
  plugins:
    sequence:
      - oauth
headers:
  x-forwarded-for: true
  x-forwarded-host: true
  x-request-id: true
  x-response-time: true
  via: true
oauth:
  allowNoAuthorization: false
  allowInvalidAuthorization: false
  verify_api_key_url: 'https://docs-test.apigee.net/edgemicro-auth/verifyApiKey'
analytics:
  uri: >-
    https://edgemicroservices-us-east-1.apigee.net/edgemicro/axpublisher/organization/docs/environment/test

Установка переменных окружения

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

  • EDGEMICRO_ORG
  • EDGEMICRO_ENV
  • EDGEMICRO_KEY
  • EDGEMICRO_SECRET

Установка этих переменных не является обязательной. Если вы установите их, вам не нужно указывать их значения при использовании интерфейса командной строки (CLI) для настройки и запуска Edge Microgateway.

Настройка SSL на сервере Edge Microgateway

Вы можете настроить сервер Microgateway для использования SSL. Например, с настроенным SSL вы можете вызывать API через Edge Microgateway с протоколом «https», например:

https://localhost:8000/myapi

Чтобы настроить SSL на сервере Microgateway, выполните следующие действия:

  1. Сгенерируйте или получите SSL-сертификат и ключ с помощью утилиты openssl или любым другим способом, который вы предпочитаете.
  2. Добавьте атрибут edgemicro:ssl в файл конфигурации Edge Microgateway. Полный список опций см. в таблице ниже. Дополнительные сведения об изменении конфигурации Edge Microgateway см. в разделе Внесение изменений в конфигурацию . Например:
     edgemicro:
         ssl:
             key: <absolute path to the SSL key file>
             cert: <absolute path to the SSL cert file>
             passphrase: admin123 #option added in v2.2.2
             rejectUnauthorized: true #option added in v2.2.2
    
  3. Перезапустите Edge Microgateway. Выполните шаги, описанные в разделе Внесение изменений в конфигурацию , в зависимости от того, какой файл конфигурации вы редактировали: файл по умолчанию или файл конфигурации среды выполнения.

Вот пример раздела edgemicro файла конфигурации с настроенным SSL:

edgemicro:
  port: 8000
  max_connections: 1000
  max_connections_hard: 5000
  logging:
    level: error
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24
  plugins:
    sequence:
      - oauth
  ssl:
    key: /MyHome/SSL/em-ssl-keys/server.key
    cert: /MyHome/SSL/em-ssl-keys/server.crt
    passphrase: admin123 #option added in v2.2.2
    rejectUnauthorized: true #option added in v2.2.2

Вот список всех поддерживаемых вариантов сервера:

Вариант Описание
key Путь к файлу ca.key (в формате PEM).
cert Путь к файлу ca.cert (в формате PEM).
pfx Путь к pfx -файлу, содержащему закрытый ключ, сертификат и сертификаты ЦС клиента в формате PFX.
passphrase Строка, содержащая парольную фразу для закрытого ключа или PFX.
ca Путь к файлу со списком доверенных сертификатов в формате PEM.
ciphers Строка, описывающая используемые шифры, разделенная знаком «:».
rejectUnauthorized Если true, сертификат сервера проверяется по списку предоставленных ЦС. Если проверка не пройдена, возвращается ошибка.
secureProtocol Используемый метод SSL. Например, SSLv3_method для принудительного использования SSL версии 3.
servername Имя сервера для расширения TLS SNI (Server Name Indication).

Использование клиентских параметров SSL/TLS

Вы можете настроить Edge Microgateway в качестве клиента TLS или SSL при подключении к целевым конечным точкам. В файле конфигурации Microgateway используйте элемент target для установки параметров SSL/TLS.

В этом примере представлены настройки, которые будут применяться ко всем хостам:

targets:
   ssl:
     client:
       key: /Users/jdoe/nodecellar/twowayssl/ssl/client.key
       cert: /Users/jdoe/nodecellar/twowayssl/ssl/ca.crt
       passphrase: admin123
       rejectUnauthorized: true

В этом примере настройки применяются только к указанному хосту:

targets:
   host: 'myserver.example.com'
   ssl:
     client:
       key: /Users/myname/twowayssl/ssl/client.key
       cert: /Users/myname/twowayssl/ssl/ca.crt
       passphrase: admin123
       rejectUnauthorized: true

Вот пример для TLS:

targets:
   host: 'myserver.example.com'
   tls:
     client:
       pfx: /Users/myname/twowayssl/ssl/client.pfx
       passphrase: admin123
       rejectUnauthorized: true

Вот список всех поддерживаемых опций клиента:

Вариант Описание
pfx Путь к pfx -файлу, содержащему закрытый ключ, сертификат и сертификаты ЦС клиента в формате PFX.
key Путь к файлу ca.key (в формате PEM).
passphrase Строка, содержащая парольную фразу для закрытого ключа или PFX.
cert Путь к файлу ca.cert (в формате PEM).
ca Путь к файлу со списком доверенных сертификатов в формате PEM.
ciphers Строка, описывающая используемые шифры, разделенная знаком «:».
rejectUnauthorized Если true, сертификат сервера проверяется по списку предоставленных ЦС. Если проверка не пройдена, возвращается ошибка.
secureProtocol Используемый метод SSL. Например, SSLv3_method для принудительного использования SSL версии 3.
servername Имя сервера для расширения TLS SNI (Server Name Indication).

Использование пользовательской службы аутентификации

По умолчанию Edge Microgateway использует прокси-сервер, развернутый на Apigee Edge, для аутентификации OAuth2. Этот прокси-сервер развертывается при первом запуске edgemicro configure . По умолчанию URL-адрес этого прокси-сервера указан в файле конфигурации Edge Microgateway следующим образом:

authUri: https://myorg-myenv.apigee.net/edgemicro-auth

Если вы хотите использовать свою собственную службу для проверки подлинности, измените значение authUri в файле конфигурации, чтобы оно указывало на вашу службу. Например, у вас может быть служба, использующая LDAP для проверки подлинности.

Управление файлами журналов

Edge Microgateway регистрирует информацию о каждом запросе и ответе. Файлы журнала содержат полезную информацию для отладки и устранения неполадок.

Где хранятся файлы журналов

По умолчанию файлы журналов хранятся в /var/tmp .

Как изменить каталог файла журнала по умолчанию

Каталог, в котором хранятся файлы журнала, указан в файле конфигурации Edge Microgateway. Дополнительные сведения о внесении изменений в конфигурацию см. в разделе Внесение изменений в конфигурацию .

edgemicro:
  home: ../gateway
  port: 8000
  max_connections: -1
  max_connections_hard: -1
  logging:
    level: info
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24

Измените значение dir , чтобы указать другой каталог файла журнала.

Отправить логи в консоль

Вы можете настроить ведение журнала, чтобы информация журнала отправлялась на стандартный вывод, а не в файл журнала. Установите для флага to_console значение true следующим образом:

edgemicro:
  logging:
    to_console: true  

С этой настройкой журналы будут отправляться на стандартный выход. В настоящее время вы не можете отправлять журналы как в стандартный вывод, так и в файл журнала.

Как установить уровень ведения журнала

Вы можете установить следующие уровни журнала: info , warn и error . Рекомендуется информационный уровень. Он регистрирует все запросы и ответы API и используется по умолчанию.

Как изменить интервалы регистрации

Вы можете настроить эти интервалы в файле конфигурации Edge Microgateway. Дополнительные сведения о внесении изменений в конфигурацию см. в разделе Внесение изменений в конфигурацию .

Настраиваемые атрибуты:

  • stats_log_interval : (по умолчанию: 60) Интервал в секундах, когда запись статистики записывается в файл журнала API.
  • rotate_interval : (по умолчанию: 24) Интервал в часах, когда файлы журналов ротируются. Например:
edgemicro:
  home: ../gateway
  port: 8000
  max_connections: -1
  max_connections_hard: -1
  logging:
    level: info
    dir: /var/tmp
    stats_log_interval: 60
    rotate_interval: 24

Примечание. Архивные файлы журналов не сжимаются. Когда интервал начинается, новый файл журнала создается с новой отметкой времени.

Надлежащие методы обслуживания файла журнала

Поскольку данные файла журнала со временем накапливаются, Apigee рекомендует применять следующие методы:

  • Поскольку файлы журнала могут стать довольно большими, убедитесь, что в каталоге файлов журнала достаточно места. См. следующие разделы Где хранятся файлы журналов и Как изменить каталог файлов журналов по умолчанию .
  • Либо удаляйте, либо перемещайте файлы журналов в отдельный архивный каталог не реже одного раза в неделю.
  • Если ваша политика предусматривает удаление журналов, вы можете использовать команду CLI edgemicro log -c , чтобы удалить (очистить) старые журналы.

Соглашение об именах файлов журнала

Каждый экземпляр Edge Microgateway создает три типа файлов журнала:

  • api — регистрирует все запросы и ответы, проходящие через Edge Microgateway. Счетчики API (статистика) и ошибки также регистрируются в этом файле.
  • err — регистрирует все, что отправлено в stderr.
  • out — регистрирует все, что отправлено на стандартный вывод.

Это соглашение об именах:

edgemicro-<Host Name>-<Instance ID>-<Log Type>.log

Например:

edgemicro-mymachine-local-MTQzNTgNDMxODAyMQ-api.log
edgemicro-mymachine-local-MTQzNTg1NDMODAyMQ-err.log
edgemicro-mymachine-local-mtqzntgndmxodaymq-out.log

О содержимом файла журнала

Добавлено в: v2.3.3

По умолчанию служба ведения журнала пропускает JSON загруженных прокси-серверов, продуктов и веб-токен JSON (JWT). Если вы хотите выводить эти объекты в файлы журналов, установите DEBUG=* при запуске Edge Microgateway. Например:

DEBUG=* edgemicro start -o docs -e test -k abc123 -s xyz456

Содержимое лог-файла "api"

Файл журнала «api» содержит подробную информацию о потоке запросов и ответов через Edge Microgateway. Файлы журнала «api» называются так:

edgemicro-mymachine-local-MTQzNjIxOTk0NzY0Nw-api.log

Для каждого запроса к Edge Microgateway четыре события фиксируются в файле журнала «api»:

  • Входящий запрос от клиента
  • Исходящий запрос к цели
  • Входящий ответ от цели
  • Исходящий ответ клиенту

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

(1) 1436403888651 info req m=GET, u=/, h=localhost:8000, r=::1:59715, i=0
(2) 1436403888665 info treq m=GET, u=/, h=127.0.0.18080, i=0
(3) 1436403888672 info tres s=200, d=7, i=0
(4) 1436403888676 info res s=200, d=11, i=0

Давайте рассмотрим их один за другим:

1. Образец входящего запроса от клиента:

1436403888651 info req m=GET, u=/, h=localhost:8000, r=::1:59715, i=0
  • 1436403888651 - Штамп даты Unix
  • информация - зависит от контекста. Может быть информация, предупреждение или ошибка, в зависимости от уровня журнала. Может быть stats для записи статистики, warn для предупреждений или error для ошибок.
  • req - Идентифицирует событие. В этом случае запрос от клиента.
  • m — команда HTTP, используемая в запросе.
  • u — часть URL-адреса, следующая за базовым путем.
  • h — номер хоста и порта, на котором прослушивается Edge Microgateway.
  • r — удаленный хост и порт, откуда был отправлен запрос клиента.
  • я - идентификатор запроса. Все четыре записи о событиях будут использовать этот идентификатор. Каждому запросу присваивается уникальный идентификатор запроса. Сопоставление записей журнала по идентификатору запроса может дать ценную информацию о задержке цели.
  • d — продолжительность в миллисекундах с момента получения запроса Edge Microgateway. В приведенном выше примере ответ цели на запрос 0 был получен через 7 миллисекунд (строка 3), а ответ был отправлен клиенту еще через 4 миллисекунды (строка 4). Другими словами, общая задержка запроса составила 11 мс, из которых 7 мс заняла цель, а 4 мс — сам Edge Microgateway.

2. Образец исходящего запроса к цели:

1436403888665 info treq m=GET, u=/, h=127.0.0.1:8080, i=0
  • 1436403888651 - Штамп даты Unix
  • информация - зависит от контекста. Может быть информация, предупреждение или ошибка, в зависимости от уровня журнала. Может быть stats для записи статистики, warn для предупреждений или error для ошибок.
  • treq - Идентифицирует событие. В этом случае целевой запрос.
  • m — команда HTTP, используемая в целевом запросе.
  • u — часть URL-адреса, следующая за базовым путем.
  • h — номер хоста и порта целевой серверной части.
  • i — идентификатор записи журнала. Все четыре записи о событиях будут использовать этот идентификатор.

3. Образец входящего ответа от цели

1436403888672 info tres s=200, d=7, i=0

1436403888651 - Штамп даты Unix

  • информация - зависит от контекста. Может быть информация, предупреждение или ошибка, в зависимости от уровня журнала. Может быть stats для записи статистики, warn для предупреждений или error для ошибок.
  • tres - Идентифицирует событие. В этом случае целевой ответ.
  • s — статус ответа HTTP.
  • d - Продолжительность в миллисекундах. Время, затраченное на вызов API целью.
  • i — идентификатор записи журнала. Все четыре записи о событиях будут использовать этот идентификатор.

4. Образец исходящего ответа клиенту

1436403888676 info res s=200, d=11, i=0

1436403888651 - Штамп даты Unix

  • информация - зависит от контекста. Может быть информация, предупреждение или ошибка, в зависимости от уровня журнала. Может быть stats для записи статистики, warn для предупреждений или error для ошибок.
  • res - Идентифицирует событие. В данном случае ответ клиенту.
  • s — статус ответа HTTP.
  • d - Продолжительность в миллисекундах. Это общее время, затраченное на вызов API, включая время, затраченное целевым API, и время, затраченное самим Edge Microgateway.
  • i — идентификатор записи журнала. Все четыре записи о событиях будут использовать этот идентификатор.

Расписание файла журнала

Файлы журналов ротируются с интервалом, заданным атрибутом конфигурации rotate_interval . Записи будут продолжать добавляться в тот же файл журнала, пока не истечет интервал ротации. Однако каждый раз, когда Edge Microgateway перезапускается, он получает новый UID и создает новый набор файлов журнала с этим UID. См. также Надлежащие методы обслуживания файла журнала .

Справочник по настройке пограничного микрошлюза

Расположение файла конфигурации

Атрибуты конфигурации, описанные в этом разделе, находятся в файле конфигурации Edge Microgateway. Дополнительные сведения о внесении изменений в конфигурацию см. в разделе Внесение изменений в конфигурацию .

Атрибуты edge_config

Эти параметры используются для настройки взаимодействия между экземпляром Edge Microgateway и Apigee Edge.

  • bootstrap : (по умолчанию: нет) URL-адрес, указывающий на службу Edge Microgateway, работающую на Apigee Edge. Edge Microgateway использует эту службу для связи с Apigee Edge. Этот URL-адрес возвращается, когда вы выполняете команду для создания пары открытого/закрытого ключа: edgemicro genkeys . Дополнительные сведения см. в разделе Установка и настройка Edge Microgateway .
  • jwt_public_key : (по умолчанию: нет) URL-адрес, указывающий на прокси-сервер Edge Microgateway, развернутый на Apigee Edge. Этот прокси служит конечной точкой проверки подлинности для выдачи клиентам подписанных токенов доступа. Этот URL-адрес возвращается, когда вы выполняете команду для развертывания прокси: edgemicro configure . Дополнительные сведения см. в разделе Установка и настройка Edge Microgateway .

Атрибуты EdgeMicro

Эти параметры настраивают процесс Edge Microgateway.

  • port : (по умолчанию: 8000) Номер порта, на котором прослушивается процесс Edge Microgateway.
  • max_connections : (по умолчанию: -1) указывает максимальное количество одновременных входящих подключений, которые может принимать Edge Microgateway. Если это число превышено, возвращается следующий статус:

    res.statusCode = 429; // Too many requests
  • max_connections_hard : (по умолчанию: -1) максимальное количество одновременных запросов, которые Edge Microgateway может получить перед отключением соединения. Этот параметр предназначен для предотвращения атак типа «отказ в обслуживании». Как правило, установите его на число больше, чем max_connections.
  • регистрация :
    • уровень : (по умолчанию: ошибка)
      • info — регистрирует все запросы и ответы, проходящие через экземпляр Edge Microgateway.
      • warn — записывает только предупреждающие сообщения.
      • error — регистрирует только сообщения об ошибках.
    • dir : (по умолчанию: /var/tmp) Каталог, в котором хранятся файлы журналов.
    • stats_log_interval : (по умолчанию: 60) Интервал в секундах, когда запись статистики записывается в файл журнала API.
    • rotate_interval : (по умолчанию: 24) Интервал в часах, когда файлы журналов ротируются.
  • dir : относительный путь от каталога ./gateway до каталога ./plugins или абсолютный путь.
  • sequence : список подключаемых модулей для добавления в экземпляр Edge Microgateway. Модули будут выполняться в том порядке, в котором они указаны здесь.
  • отладка: добавляет удаленную отладку в процесс Edge Microgateway.
    • port : номер порта для прослушивания. Например, настройте отладчик IDE для прослушивания этого порта.
    • args : аргументы процесса отладки. Например: args --nolazy
  • config_change_poll_interval: (по умолчанию: 600 секунд) Edge Microgateway периодически загружает новую конфигурацию и выполняет перезагрузку, если что-то изменилось. Опрос улавливает любые изменения, внесенные в Edge (изменения в продуктах, прокси-серверы с поддержкой микрошлюза и т. д.), а также изменения, внесенные в локальный файл конфигурации.
  • disable_config_poll_interval: (по умолчанию: false) Установите значение true , чтобы отключить автоматический опрос изменений.

атрибуты заголовков

Эти параметры определяют, как обрабатываются определенные заголовки HTTP.

  • x-forwarded-for : (по умолчанию: true) Установите значение false, чтобы предотвратить передачу заголовков x-forwarded-for цели.
  • x-forwarded-host : (по умолчанию: true) Установите значение false, чтобы предотвратить передачу заголовков x-forwarded-host в цель.
  • x-request-id : (по умолчанию: true) Установите значение false, чтобы предотвратить передачу заголовков x-request-id цели.
  • x-response-time : (по умолчанию: true) Установите значение false, чтобы предотвратить передачу заголовков x-response-time цели.
  • via : (по умолчанию: true) Установите значение false, чтобы предотвратить передачу заголовков via в цель.

атрибуты oauth

Эти параметры настраивают, как проверка подлинности клиента применяется Edge Microgateway.

  • allowNoAuthorization : (по умолчанию: false) Если установлено значение true, вызовы API могут проходить через Edge Microgateway вообще без какого-либо заголовка авторизации. Установите для этого параметра значение false, чтобы требовать заголовок авторизации (по умолчанию).
  • allowInvalidAuthorization : (по умолчанию: false) Если установлено значение true, вызовы API разрешены, если токен, переданный в заголовке авторизации, недействителен или просрочен. Установите для этого параметра значение false, чтобы требовать действительные токены (по умолчанию).
  • авторизация-заголовок : (по умолчанию: Авторизация: Носитель) Заголовок, используемый для отправки токена доступа в Edge Microgateway. Вы можете изменить значение по умолчанию в тех случаях, когда целевому объекту необходимо использовать заголовок авторизации для какой-либо другой цели.
  • api-key-header : (по умолчанию: x-api-key) Имя заголовка или параметра запроса, используемого для передачи ключа API в Edge Microgateway. См. также Использование ключа API .
  • keepAuthHeader : (по умолчанию: false) Если установлено значение true, заголовок авторизации, отправленный в запросе, передается цели (он сохраняется).

Специфичные для плагина атрибуты

Подробную информацию о настраиваемых атрибутах для каждого плагина см. в разделе Использование плагинов.

Фильтрация прокси

Вы можете отфильтровать, какие прокси-серверы с поддержкой микрошлюза будут обрабатываться экземпляром Edge Microgateway. При запуске Edge Microgateway загружает все прокси-серверы, поддерживающие микрошлюзы, в организации, с которой он связан. Используйте следующую конфигурацию, чтобы ограничить, какие прокси-серверы будут обрабатываться микрошлюзом. Например, эта конфигурация ограничивает прокси-серверы, которые будет обрабатывать микрошлюз, до трех: edgemicro_proxy-1 , edgemicro_proxy-2 и edgemicro_proxy-3 :

proxies:
  - edgemicro_proxy-1
  - edgemicro_proxy-2
  - edgemicro_proxy-3

Маскировка данных аналитики

Следующая конфигурация предотвращает отображение информации о пути запроса в аналитике Edge. Добавьте следующее в конфигурацию микрошлюза, чтобы замаскировать URI запроса и/или путь запроса. Обратите внимание, что URI состоит из части имени хоста и пути запроса.

analytics:
  mask_request_uri: 'string_to_mask'
  mask_request_path: 'string_to_mask'

Отладка и устранение неполадок

Подключение к отладчику

Вы можете запустить Edge Microgateway с отладчиком, например node-spector . Это полезно для устранения неполадок и отладки пользовательских плагинов.

  1. Перезапустите Edge Microgateway в режиме отладки. Для этого добавьте DEBUG=* в начало команды запуска. Например:

    DEBUG=* edgemicro start -o myorg -e test -k db4e9e8a95aa7fabfdeacbb1169d0a8cbe42bec19c6b98129e02 -s 6e56af7c1b26dfe93dae78a735c8afc9796b077d105ae5618ce7ed
  2. Запустите отладчик и настройте его на прослушивание номера порта для процесса отладки.
  3. Теперь вы можете выполнять пошаговый код Edge Microgateway, устанавливать точки останова, отслеживать выражения и т. д.

Вы можете указать стандартные флаги Node.js, связанные с режимом отладки. Например, --nolazy помогает отлаживать асинхронный код.

Проверка файлов журнала

Если у вас возникли проблемы, обязательно изучите файлы журналов для получения сведений о выполнении и информации об ошибках. Дополнительные сведения см. в разделе Управление файлами журналов .

Использование безопасности ключа API

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

Кэширование ключей

Ключи API обмениваются на токены носителя, которые кэшируются. Вы можете отключить кэширование, установив заголовок Cache-Control: no-cache для входящих запросов к Edge Microgateway.

Требуемый обходной путь, если вы используете частное облако Apigee Edge версии 15.07.

Чтобы использовать безопасность ключа API в Edge Private Cloud 15.07, необходимо реализовать обходной путь, описанный здесь. Обходной путь требует, чтобы вы изменили одну строку в файле Node.js в прокси-сервере edgemicro-auth и перезапустили Edge Microgateway.

Реализуйте обходной путь в пользовательском интерфейсе Edge

Эта процедура требует, чтобы вы повторно запустили команду запуска edgemicro , когда закончите.

  1. В пользовательском интерфейсе Edge откройте прокси-сервер edgemicro-auth в редакторе прокси.
  2. Выберите вкладку «Разработка».
  3. В навигаторе в разделе «Сценарии» откройте файл JavaScript с именем verify-api-key.js .
  4. Перейдите к строке 109:

    api_product_list: apigeeToken.app && apigeeToken.app.apiproducts ? apigeeToken.app.apiproducts : []
  5. Замените часть после «api_product_list:» на «жестко закодированный» массив имен продуктов, связанных с любыми ключами API, которые вы хотите использовать. Так, например, если вы хотите использовать ключ из приложения разработчика, в котором есть «Продукт-1» и «Продукт-2», вы кодируете строку следующим образом:

    api_product_list: ["Product-1", "Product-2"]
  6. Щелкните Сохранить.
  7. Выполните команду запуска edgemicro .

Внедрение в локальную кодовую базу Edge Microgateway

Эта процедура требует от вас повторного запуска команды edgemicro configure , а затем запуска edgemicro .

  1. Откройте файл <microgateway-root-dir>/edge/auth/api/controllers/verify-api-key.js , где <microgateway-root-dir> — это каталог, в который был установлен Edge Microgateway при выполнении команды npm install . .
  2. Перейдите к строке 109:

    api_product_list: apigeeToken.app && apigeeToken.app.apiproducts ? apigeeToken.app.apiproducts : []
  3. Замените часть после «api_product_list:» на «жестко закодированный» массив имен продуктов, связанных с любыми ключами API, которые вы хотите использовать. Так, например, если вы хотите использовать ключ из приложения разработчика, в котором есть «Продукт-1» и «Продукт-2», вы кодируете строку следующим образом:

    api_product_list: ["Product-1", "Product-2"]
  4. Сохраните файл.
  5. Выполните команду настройки edgemicro . (Или приватная настройка edgemicro, если вы используете Edge Private Cloud.) Эта команда повторно развертывает прокси-сервер edgemicro-auth.
  6. Выполните команду запуска edgemicro .

Использование безопасности токена OAuth2

Дополнительные сведения об использовании токена OAuth с прокси-запросами см. в разделе Secure Edge Microgateway .

Использование ключа API

Дополнительные сведения об использовании ключей API с прокси-запросами см. в разделе Secure Edge Microgateway .

Настройка имени ключа API

По умолчанию x-api-key — это имя, используемое для заголовка ключа API или параметра запроса. Вы можете изменить это значение по умолчанию в файле конфигурации, как описано в разделе Внесение изменений в конфигурацию . Например, чтобы изменить имя на apiKey :

oauth:
 allowNoAuthorization: false
 allowInvalidAuthorization: false
 api-key-header: apiKey