Вы просматриваете документацию по Apigee Edge.
См. документацию по Apigee X.
Обзор
В этом разделе обсуждается, как управлять и настраивать Edge Microgateway, включая мониторинг, ведение журнала и отладку.
Внесение изменений в конфигурацию
Файлы конфигурации, о которых вам нужно знать, включают:
- Файл конфигурации системы по умолчанию
- Файл конфигурации по умолчанию для вновь инициализированного экземпляра Edge Microgateway
- Файл динамической конфигурации для запущенных экземпляров
В этом разделе обсуждаются эти файлы и что вам нужно знать об их изменении. Дополнительные сведения о параметрах файла конфигурации см. в справочнике по настройке Edge Microgateway .
Файл конфигурации системы по умолчанию
При установке Edge Microgateway здесь размещается файл конфигурации системы по умолчанию:
[prefix]/lib/node_modules/edgemicro/config/default.yaml
где [prefix]
— каталог префикса npm
. См. Где установлен Edge Microgateway .
Если вы измените файл конфигурации системы, вы должны повторно инициализировать, перенастроить и перезапустить Edge Microgateway:
- Вызов
edgemicro init
- Вызов
edgemicro configure [params]
- Вызов
edgemicro start [params]
Файл конфигурации по умолчанию для вновь инициализированных экземпляров Edge Microgateway
Когда вы запускаете edgemicro init
, файл конфигурации системы (описанный выше), default.yaml
, помещается в этот каталог: ~ /.edgemicro
Если вы измените файл конфигурации в ~ /.edgemicro
, вы должны перенастроить и перезапустить Edge Microgateway:
-
edgemicro stop
-
edgemicro configure
[params]
-
edgemicro start
[params]
Файл динамической конфигурации для запущенных экземпляров
Когда вы запускаете edgemicro configure [params]
, файл динамической конфигурации создается в ~ /.edgemicro
. Имя файла соответствует следующему шаблону: [org]-[env]-config.yaml
, где org
и env
— это имена вашей организации и среды Apigee Edge. Вы можете использовать этот файл для внесения изменений в конфигурацию, а затем перезагружать их без простоев. Например, если вы добавите и настроите подключаемый модуль, вы сможете перезагрузить конфигурацию без простоев, как описано ниже.
Если Edge Microgateway работает (опция нулевого времени простоя):
- Перезагрузите конфигурацию 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 остановлен:
- Перезапустите 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, выполните следующие действия:
- Сгенерируйте или получите SSL-сертификат и ключ с помощью утилиты openssl или любым другим способом, который вы предпочитаете.
- Добавьте атрибут
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
- Перезапустите 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) Интервал в часах, когда файлы журналов ротируются.
- уровень : (по умолчанию: ошибка)
- плагины : плагины добавляют функциональность Edge Microgateway. Дополнительные сведения о разработке подключаемых модулей см. в разделе Разработка пользовательских подключаемых модулей .
- 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 . Это полезно для устранения неполадок и отладки пользовательских плагинов.
- Перезапустите Edge Microgateway в режиме отладки. Для этого добавьте
DEBUG=*
в начало команды запуска. Например:
DEBUG=* edgemicro start -o myorg -e test -k db4e9e8a95aa7fabfdeacbb1169d0a8cbe42bec19c6b98129e02 -s 6e56af7c1b26dfe93dae78a735c8afc9796b077d105ae5618ce7ed
- Запустите отладчик и настройте его на прослушивание номера порта для процесса отладки.
- Теперь вы можете выполнять пошаговый код 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 , когда закончите.
- В пользовательском интерфейсе Edge откройте прокси-сервер edgemicro-auth в редакторе прокси.
- Выберите вкладку «Разработка».
- В навигаторе в разделе «Сценарии» откройте файл JavaScript с именем verify-api-key.js .
- Перейдите к строке 109:
api_product_list: apigeeToken.app && apigeeToken.app.apiproducts ? apigeeToken.app.apiproducts : []
- Замените часть после «api_product_list:» на «жестко закодированный» массив имен продуктов, связанных с любыми ключами API, которые вы хотите использовать. Так, например, если вы хотите использовать ключ из приложения разработчика, в котором есть «Продукт-1» и «Продукт-2», вы кодируете строку следующим образом:
api_product_list: ["Product-1", "Product-2"]
- Щелкните Сохранить.
- Выполните команду запуска edgemicro .
Внедрение в локальную кодовую базу Edge Microgateway
Эта процедура требует от вас повторного запуска команды edgemicro configure , а затем запуска edgemicro .
- Откройте файл
<microgateway-root-dir>/edge/auth/api/controllers/verify-api-key.js
, где<microgateway-root-dir>
— это каталог, в который был установлен Edge Microgateway при выполнении командыnpm install
. . - Перейдите к строке 109:
api_product_list: apigeeToken.app && apigeeToken.app.apiproducts ? apigeeToken.app.apiproducts : []
- Замените часть после «api_product_list:» на «жестко закодированный» массив имен продуктов, связанных с любыми ключами API, которые вы хотите использовать. Так, например, если вы хотите использовать ключ из приложения разработчика, в котором есть «Продукт-1» и «Продукт-2», вы кодируете строку следующим образом:
api_product_list: ["Product-1", "Product-2"]
- Сохраните файл.
- Выполните команду настройки edgemicro . (Или приватная настройка edgemicro, если вы используете Edge Private Cloud.) Эта команда повторно развертывает прокси-сервер edgemicro-auth.
- Выполните команду запуска 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