Estás viendo la documentación de Apigee Edge.
Ve a la
Documentación de Apigee X. información
Edge Microgateway v. 2.4.x
Descripción general
En este tema, se explica cómo administrar y configurar Edge Microgateway, lo que incluye la supervisión, el registro y la depuración.
Cómo hacer cambios en la configuración
Entre los archivos de configuración que debes conocer, se incluyen los siguientes:
- Archivo de configuración del sistema predeterminado
- Archivo de configuración predeterminado para una instancia de Edge Microgateway recién inicializada
- Archivo de configuración dinámica para instancias en ejecución
En esta sección, se analizan estos archivos y lo que debes saber para cambiarlos. Más información sobre los parámetros de configuración del archivo, consulta Configuración de Edge Microgateway referencia.
Configuración predeterminada del sistema archivo
Cuando instalas Edge Microgateway, se coloca un archivo de configuración del sistema predeterminado aquí:
[prefix]/lib/node_modules/edgemicro/config/default.yaml
En el ejemplo anterior, [prefix]
es el directorio del prefijo npm
.
Consulta Dónde
si está instalado Edge Microgateway.
Si cambias el archivo de configuración del sistema, debes reiniciar Edge, reconfigurarla y reiniciarla. Microgateway:
- Llamar a
edgemicro init
- Llamar a
edgemicro configure [params]
- Llamar a
edgemicro start [params]
Archivo de configuración predeterminado para las instancias de Edge Microgateway recién inicializadas
Cuando ejecutas edgemicro init
, el archivo de configuración del sistema
(descrito anteriormente), default.yaml
, se encuentra en este directorio:
~/.edgemicro
Si cambias el archivo de configuración en ~/.edgemicro
, debes volver a configurarlo y reiniciarlo.
Edge Microgateway:
edgemicro stop
edgemicro configure
[params]
edgemicro start
[params]
Dinámico de configuración para las instancias en ejecución
Cuando ejecutas edgemicro configure [params]
, se genera una
de configuración de Terraform se crea en aproximadamente /.edgemicro
. El nombre del archivo corresponde al
diseño: [org]-[env]-config.yaml
,
en el que org
y env
son tu organización de Apigee Edge
y los nombres de los entornos. Puedes usar este archivo para realizar cambios en la configuración y, luego, volver a cargarlos
sin tiempo de inactividad. Por ejemplo, si agregas y configuras un complemento, puedes volver a cargar el
de la configuración sin incurrir en tiempo de inactividad, como se explica a continuación.
Si Edge Microgateway se está ejecutando (opción sin tiempo de inactividad):
- Vuelve a cargar la configuración de Edge Microgateway:
edgemicro reload -o [org] -e [env] -k [key] -s [secret]
Aquí:
org
es el nombre de tu organización de Edge (debes ser un administrador de la organización).env
es un entorno de tu organización (como un entorno de pruebas o prod).key
es la clave que el equipo de configuración mostró previamente. kubectl.secret
es la clave que mostró previamente el configure.
Ejemplo
edgemicro reload -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d000723 -s 05c14356e42ed136b8dd35cf8a18531ff52d7299134677e30ef4e34ab0cc824
Si se detiene Edge Microgateway, haz lo siguiente:
- Reinicia Edge Microgateway:
edgemicro start -o [org] -e [env] -k [key] -s [secret]
Aquí:
org
es el nombre de tu organización de Edge (debes ser un administrador de la organización).env
es un entorno de tu organización (como un entorno de pruebas o prod).key
es la clave que el equipo de configuración mostró previamente. kubectl.secret
es la clave que mostró previamente el configure.
Ejemplo
edgemicro start -o docs -e test -k 701e70ee718ce6dc188016b3c39177d64a88754d615c74e1f78b6181d000723 -s 05c14356e42ed136b8dd35cf8a18531ff52d7299134677e30ef4e34ab0cc824
Este es un archivo de configuración de ejemplo. Para obtener detalles sobre los ajustes del archivo de configuración, consulta Edge Microgateway configuración de referencia.
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
Configura variables de entorno
Los comandos de la interfaz de línea de comandos que requieren valores para la organización de Edge y entorno y la clave y el secreto necesarios para iniciar Edge Microgateway se pueden almacenar en estos variables de entorno:
EDGEMICRO_ORG
EDGEMICRO_ENV
EDGEMICRO_KEY
EDGEMICRO_SECRET
Configurar estas variables es opcional. Si los estableces, no es necesario que especifiques sus valores cuando usas la interfaz de línea de comandos (CLI) para configurar y, luego, iniciar Edge Microgateway
Configura SSL en Edge Microgateway servidor
Puedes configurar el servidor de Microgateway para que use SSL. Por ejemplo, con SSL configurada, puedes llamar a las APIs a través de Edge Microgateway con el protocolo “https” protocolo, como se muestra a continuación:
https://localhost:8000/myapi
Para configurar SSL en el servidor Microgateway, sigue estos pasos:
- Genera u obtén un certificado y una clave SSL con la utilidad openssl o el método que prefieras.
- Agrega el atributo
edgemicro:ssl
a Edge Microgateway de Terraform. Para obtener una lista completa de las opciones, consulta la siguiente tabla. Para obtener detalles Si modificas la configuración de Edge Microgateway, consulta Realiza cambios en la configuración. Por ejemplo:
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 requestCert: true
- Reinicia Edge Microgateway. Sigue los pasos que se describen en Cómo realizar cambios en la configuración según la herramienta de configuración que editaste: el archivo predeterminado o el archivo de configuración del entorno de ejecución.
Este es un ejemplo de la sección Edgemicro del archivo de configuración, con SSL configurada:
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
Esta es una lista de todas las opciones de servidores compatibles:
Opción | Descripción |
---|---|
key |
Es la ruta de acceso a un archivo ca.key (en formato PEM). |
cert |
Es la ruta de acceso a un archivo ca.cert (en formato PEM). |
pfx |
Ruta de acceso a un archivo pfx que contiene la clave privada, el certificado y
Certificados de la AC del cliente en formato PFX. |
passphrase |
Es una cadena que contiene la frase de contraseña para la clave privada o PFX. |
ca |
Es la ruta de acceso a un archivo que contiene una lista de certificados de confianza en formato PEM. |
ciphers |
Es una cadena que describe los algoritmos de cifrado que se deben usar, separados por un “:”. |
rejectUnauthorized |
Si es verdadero, el certificado de servidor se verifica con la lista de AC suministradas. Si la verificación falla, se muestra un error. |
secureProtocol |
El método SSL que se usará. Por ejemplo, SSLv3_method para forzar el uso de SSL a la versión 3. |
servername |
Es el nombre del servidor de la extensión TLS (indicación de nombre del servidor) de SNI. |
requestCert |
true para SSL bidireccional; falso para SSL unidireccional |
Usa opciones de SSL/TLS del cliente
Puedes configurar Edge Microgateway para que sea un cliente de TLS o SSL cuando te conectas al destino en los extremos. En el archivo de configuración de Microgateway, usa el elemento de destino para configurar SSL/TLS opciones de estado.
En este ejemplo, se proporciona una configuración que se aplicará a todos los hosts:
targets: ssl: client: key: /Users/jdoe/nodecellar/twowayssl/ssl/client.key cert: /Users/jdoe/nodecellar/twowayssl/ssl/ca.crt passphrase: admin123 rejectUnauthorized: true
En este ejemplo, la configuración se aplica solo al host especificado:
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
Este es un ejemplo de TLS:
targets: host: 'myserver.example.com' tls: client: pfx: /Users/myname/twowayssl/ssl/client.pfx passphrase: admin123 rejectUnauthorized: true
Esta es una lista de todas las opciones de cliente compatibles:
Opción | Descripción |
---|---|
pfx |
Ruta de acceso a un archivo pfx que contiene la clave privada, el certificado y
Certificados de la AC del cliente en formato PFX. |
key |
Es la ruta de acceso a un archivo ca.key (en formato PEM). |
passphrase |
Es una cadena que contiene la frase de contraseña para la clave privada o PFX. |
cert |
Es la ruta de acceso a un archivo ca.cert (en formato PEM). |
ca |
Es la ruta de acceso a un archivo que contiene una lista de certificados de confianza en formato PEM. |
ciphers |
Es una cadena que describe los algoritmos de cifrado que se deben usar, separados por un “:”. |
rejectUnauthorized |
Si es verdadero, el certificado de servidor se verifica con la lista de AC suministradas. Si la verificación falla, se muestra un error. |
secureProtocol |
El método SSL que se usará. Por ejemplo, SSLv3_method para forzar el uso de SSL a la versión 3. |
servername |
Es el nombre del servidor de la extensión TLS (indicación de nombre del servidor) de SNI. |
Personaliza el proxy de Edgemicro-auth
De forma predeterminada, Edge Microgateway usa un proxy implementado en Apigee Edge para la autenticación de OAuth2.
Este proxy se implementa cuando ejecutas edgemicro configure
inicialmente. Puedes
cambia la configuración predeterminada de este proxy para agregar compatibilidad con reclamaciones personalizadas a un archivo JSON Web
Token (JWT), configurar el vencimiento del token y generar tokens de actualización. Para obtener más información, consulta
la página de edgemicro-auth
en GitHub.
Usa un servicio de autenticación personalizado
De forma predeterminada, Edge Microgateway usa un proxy implementado en Apigee Edge para la autenticación de OAuth2.
Este proxy se implementa cuando ejecutas edgemicro configure
inicialmente. De forma predeterminada,
La URL de este proxy se especifica en el archivo de configuración de Edge Microgateway de la siguiente manera:
authUri: https://myorg-myenv.apigee.net/edgemicro-auth
Si quieres usar tu propio servicio personalizado para controlar la autenticación, cambia
el valor authUri
en el archivo de configuración para que apunte a tu servicio. Para
Por ejemplo, podría tener un servicio que use LDAP para verificar la identidad.
Administración archivos de registro
Edge Microgateway registra información sobre cada solicitud y respuesta. Los archivos de registro brindan para la depuración y la solución de problemas.
Dónde se almacenan los archivos de registro
De forma predeterminada, los archivos de registro se almacenan en /var/tmp
.
Cómo cambiar el registro predeterminado directorio de archivos
El directorio en el que se almacenan los archivos de registro se especifica en la configuración de Edge Microgateway . Para obtener detalles sobre cómo realizar cambios en la configuración, consulta Cómo realizar cambios en la configuración.
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
Cambia el valor dir para especificar un directorio de archivo de registro diferente.
Envía registros a la consola
Puedes configurar el registro para que la información de registro se envíe al resultado estándar en lugar de a
archivo de registro. Establece la marca to_console
en verdadero de la siguiente manera:
edgemicro: logging: to_console: true
Con este parámetro de configuración, los registros se enviarán a salida estándar. Actualmente, no puedes enviar registros a ambos stdout y a un archivo de registro.
Cómo establecer el nivel de registro
Puedes configurar los siguientes niveles de registro: info, warn, y error. Se recomienda el nivel de información. Registra todas las solicitudes a la API y que es la opción predeterminada.
Cómo cambiar los intervalos de registro
Puedes configurar estos intervalos en el archivo de configuración de Edge Microgateway. Para obtener detalles sobre cómo hacer cambios en la configuración, consulta Realizar ajustes de la configuración.
Los atributos configurables son los siguientes:
- stats_log_interval: (predeterminado: 60) Intervalo, en segundos, cuando las estadísticas se escribe en el archivo de registro de la API.
- rotate_interval: (predeterminado: 24) Intervalo, en horas, cuando los archivos de registro se rotó. Por ejemplo:
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
Nota: Los archivos de registro archivados no están comprimidos. Cuando comienza el intervalo, se crea un archivo de registro nuevo con una marca de tiempo nueva.
Buena prácticas de mantenimiento de archivos de registro
A medida que los datos de los archivos de registro se acumulan con el tiempo, Apigee recomienda adoptar los siguientes prácticas:
- Dado que los archivos de registro pueden volverse bastante grandes, asegúrate de que el directorio del archivo de registro espacio suficiente. Consulta las siguientes secciones Dónde se almacenan los archivos de registro y Cómo cambiar el archivo de registro predeterminado del directorio.
- Borra o mueve los archivos de registro a un directorio de archivos separado al menos una vez a la semana.
- Si tu política es borrar registros, puedes usar el comando
edgemicro log -c
de la CLI para quitar (limpiar) los registros más antiguos.
Convención de nomenclatura de los archivos de registro
Cada instancia de Edge Microgateway produce tres tipos de archivos de registro:
- api: Registra todas las solicitudes y respuestas que fluyen a través de Edge Microgateway Los contadores de API (estadísticas) y los errores también se registran en este archivo.
- err: Registra todo lo que se envía a stderr.
- out: Registra todo lo que se envía a stdout.
Esta es la convención de nomenclatura:
edgemicro-<Host Name>-<Instance ID>-<Log Type>.log
Por ejemplo:
edgemicro-mymachine-local-MTQzNTgNDMxODAyMQ-api.log edgemicro-mymachine-local-MTQzNTg1NDMODAyMQ-err.log edgemicro-mymachine-local-mtqzntgndmxodaymq-out.log
Acerca del contenido del archivo de registro
Agregada en la versión 2.3.3
De forma predeterminada, el servicio de registro omite el JSON de los proxies descargados, los productos y el JSON.
Token web (JWT). Si quieres enviar esos objetos a los archivos de registro, configura
DEBUG=*
cuando inicias Edge Microgateway Por ejemplo:
DEBUG=* edgemicro start -o docs -e test -k abc123 -s xyz456
Nota: En Windows, usa SET DEBUG=*
.
Contenidos de la "API" archivo de registro
La “API” el archivo de registro contiene información detallada sobre el flujo de solicitudes y respuestas a través de Edge Microgateway. La “API” los archivos de registro tienen el siguiente nombre:
edgemicro-mymachine-local-MTQzNjIxOTk0NzY0Nw-api.log
Por cada solicitud que se hace a Edge Microgateway, se capturan cuatro eventos en la “API” registro archivo:
- Solicitud entrante del cliente
- Solicitud saliente enviada al destino
- Respuesta entrante del destino
- Respuesta saliente al cliente
Cada una de estas entradas separadas se representa en una notación abreviada para ayudar a que el registro archivos más compactos. Aquí hay cuatro entradas de ejemplo que representan cada uno de los cuatro eventos. En el registro archivo, se ven así (los números de línea son solo de referencia en el documento, no aparecen en el archivo de registro).
(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
Veámoslos uno por uno:
1. Ejemplo de solicitud entrante del cliente:
1436403888651 info req m=GET, u=/, h=localhost:8000, r=::1:59715, i=0
- 1436403888651: Marca de fecha Unix
- info: Depende del contexto. Puede ser información, advertencia o error. según el nivel de registro. Pueden ser estadísticas de un registro de estadísticas, advertir sobre advertencias o de errores.
- req: Identifica el evento. En este caso, la solicitud del cliente.
- m: El verbo HTTP que se usa en la solicitud.
- u: Es la parte de la URL que sigue a la ruta base.
- h: El número de puerto y host en los que se encuentra Edge Microgateway escuchando.
- r: El host y el puerto remotos en los que el cliente solicita se originó.
- i: El ID de la solicitud. Las cuatro entradas de evento compartirán este ID. Cada a la que se le asigna un ID de solicitud único. Correlacionar los registros por ID de solicitud puede proporcionar y obtener estadísticas valiosas sobre la latencia del objetivo.
- d: la duración en milisegundos desde que recibió la solicitud Edge Microgateway. En el ejemplo anterior, se recibió la respuesta del objetivo a la solicitud 0. después de 7 milisegundos (línea 3) y la respuesta se envió al cliente después de 4 milisegundos (línea 4). En otras palabras, la latencia total de la solicitud fue de 11 milisegundos, que fue de 7 milisegundos para el destino y 4 milisegundos para Edge Microgateway. a sí mismo.
2. Ejemplo de una solicitud saliente realizada al destino:
1436403888665 info treq m=GET, u=/, h=127.0.0.1:8080, i=0
- 1436403888651: Marca de fecha Unix
- info: Depende del contexto. Puede ser información, advertencia o error. según el nivel de registro. Pueden ser estadísticas de un registro de estadísticas, advertir sobre advertencias o de errores.
- treq: Identifica el evento. En este caso, la solicitud de destino.
- m: El verbo HTTP que se usa en la solicitud objetivo.
- u: Es la parte de la URL que sigue a la ruta base.
- h: El número de puerto y host del destino del backend.
- i: El ID de la entrada de registro. Las cuatro entradas del evento compartirán esto ID.
3. Muestra de respuesta entrante del objetivo
1436403888672 info tres s=200, d=7, i=0
1436403888651: Marca de fecha Unix
- info: Depende del contexto. Puede ser información, advertencia o error. según el nivel de registro. Pueden ser estadísticas de un registro de estadísticas, advertir sobre advertencias o de errores.
- tres: Identifica el evento. En este caso, seleccionar la respuesta objetivo.
- s: El estado de la respuesta HTTP.
- d: La duración en milisegundos. El tiempo que tarda la llamada a la API en el objetivo.
- i: El ID de la entrada de registro. Las cuatro entradas del evento compartirán esto ID.
4. Muestra de respuesta saliente al cliente
1436403888676 info res s=200, d=11, i=0
1436403888651: Marca de fecha Unix
- info: Depende del contexto. Puede ser información, advertencia o error. según el nivel de registro. Pueden ser estadísticas de un registro de estadísticas, advertir sobre advertencias o de errores.
- res: Identifica el evento. En este caso, la respuesta a la cliente.
- s: El estado de la respuesta HTTP.
- d: La duración en milisegundos. Este es el tiempo total que se tomó que demora la llamada a la API, incluido el tiempo que le toma a la API de destino y el que Edge Microgateway en sí.
- i: El ID de la entrada de registro. Las cuatro entradas del evento compartirán esto ID.
Programación de archivos de registro
Los archivos de registro se rotan en el intervalo especificado por la configuración de rotate_interval e. Las entradas se seguirán agregando al mismo archivo de registro hasta que aparezca el intervalo de rotación. y vence el período de vencimiento. Sin embargo, cada vez que se reinicia Edge Microgateway, recibe un UID nuevo y crea un nuevo conjunto de archivos de registro con este UID. Consulta también Prácticas recomendadas para el mantenimiento de archivos de registro.
Configuración de Edge Microgateway referencia
Ubicación del archivo de configuración
Los atributos de configuración que se describen en esta sección se encuentran en Edge Microgateway de Terraform. Para obtener detalles sobre cómo realizar cambios en la configuración, consulta Cómo realizar cambios en la configuración.
Atributos de Edge_config
Estos parámetros de configuración se usan para configurar la interacción entre la instancia de Edge Microgateway y Apigee Edge
- bootstrap: (predeterminado: ninguno) Es una URL que apunta a un perímetro.
Servicio específico de Microgateway que se ejecuta en Apigee Edge. Edge Microgateway usa este servicio para
comunicarse con Apigee Edge. Esta URL se muestra cuando ejecutas el comando para generar la
par de claves pública/privada:
edgemicro genkeys
. Consulta la Configuración y configurar Edge Microgateway para conocer más detalles. - jwt_public_key: (predeterminado: ninguno) Es una URL que apunta a Edge Microgateway. que se implementa en Apigee Edge. Este proxy funciona como extremo de autenticación para la emisión de tokens de acceso firmados a los clientes. Esta URL se muestra cuando ejecutas el comando para implementar el proxy: edgemicro configure. Consulta la Configuración y configurar Edge Microgateway para conocer más detalles.
atributos de Edgemicro
Con estos parámetros de configuración, se configura el proceso de Edge Microgateway.
- port: (valor predeterminado: 8000) El número de puerto en el que se encuentra Edge Microgateway escuchas de procesos.
- max_connections: (valor predeterminado: -1) Especifica la cantidad máxima de
conexiones entrantes simultáneas que puede recibir Edge Microgateway. Si este número es
se excede, se devuelve el siguiente estado:
res.statusCode = 429; // Too many requests
- max_connections_hard: (valor predeterminado: -1) La cantidad máxima de conexiones simultáneas que Edge Microgateway puede recibir antes de cerrar la conexión. Este parámetro de configuración su objetivo es impedir los ataques de denegación del servicio. Normalmente, debe establecerse en un número mayor que max_connections.
-
Registro:
-
level: (predeterminado: error)
- info: registra todas las solicitudes y respuestas que fluyen a través de un Instancia de Edge Microgateway.
- warn: Solo registra los mensajes de advertencia.
- error: Solo registra los mensajes de error.
- dir: (predeterminado: /var/tmp) El directorio donde se encuentran los archivos de registro se almacenan.
- stats_log_interval: (predeterminado: 60) Intervalo, en segundos, cuando las estadísticas se escribe en el archivo de registro de API.
- rotate_interval: (predeterminado: 24) Intervalo, en horas, cuando los archivos de registro se rotó.
-
level: (predeterminado: error)
- Complementos: Los complementos agregan funcionalidad a Edge Microgateway. Más información sobre el desarrollo de complementos, consulta Desarrollo de aplicaciones complementos.
- dir: una ruta de acceso relativa del directorio ./gateway al directorio ./plugins o una ruta de acceso absoluta.
- secuencia: Una lista de módulos de complementos para agregar a Edge Microgateway instancia. Los módulos se ejecutarán en el orden en que se especifiquen aquí.
-
debug: Agrega la depuración remota al proceso de Edge Microgateway.
- port: Es el número de puerto en el que se escuchará. Por ejemplo, configura tu depurador de IDE para escuchar en este puerto.
- args: Son los argumentos para el proceso de depuración. Por ejemplo:
args --nolazy
- config_change_poll_interval: (valor predeterminado: 600 segundos) Edge Microgateway
Carga una configuración nueva de forma periódica y ejecuta una recarga si cambia algo. Encuesta
reconoce todos los cambios realizados en Edge (cambios en los productos, proxies que reconocen las micropuertas de enlace, etcétera) como
así como los cambios realizados en el archivo de configuración local.
- disable_config_poll_interval: (predeterminado: falso) Configurar a true para desactivar el cambio automático. sondeos.
- request_timeout: Establece un tiempo de espera para las solicitudes de destino. El tiempo de espera se establece en segundos. Si se agota el tiempo de espera, Edge Microgateway responde con un código de estado 504. (Agregada v2.4.x)
atributos de encabezados
Esta configuración establece cómo se tratan ciertos encabezados HTTP.
- x-forwarded-for: (predeterminado: true) Configúralo como “false” para evitar que los encabezados x-forwarded-for se pasen al destino. Ten en cuenta que si un encabezado x-reenviado está en la solicitud, su valor se establecerá en el valor de IP del cliente en Edge Analytics.
- x-forwarded-host: (predeterminado: true) Configúralo como “false” para evitar los encabezados x-forwarded-host que se pasarán al destino.
- x-request-id: (predeterminado: true) Configúralo como falso para evitar Los encabezados x-request-id que se pasarán al destino.
- x-response-time: (predeterminado: verdadero) Se establece en falso para evitar Los encabezados de tiempo de respuesta X que se pasarán al destino.
- via: (predeterminado: verdadero) Se establece como falso para evitar que se envíen los encabezados. que se pasa al objetivo.
Atributos de OAuth
Con estos parámetros de configuración, se configura cómo Edge Microgateway aplica la autenticación del cliente.
- allowNoAuthorization: (predeterminado: false) Si se configura como verdadero, se realizan las llamadas a la API no tiene permitido pasar por Edge Microgateway sin ningún encabezado de autorización. Establecer como false para requerir un encabezado de autorización (predeterminado).
- allowInvalidAuthorization: (predeterminado: false) Si se establece en true, las llamadas a la API se si el token que se pasó en el encabezado de autorización no es válido o venció. Establecer a false para requerir tokens válidos (predeterminado).
- authorization-header (valor predeterminado: Autorización: Bearer) El encabezado que se usa para y enviar el token de acceso a Edge Microgateway. Te recomendamos que cambies el valor predeterminado en los casos en que el destino debe usar el encabezado de autorización para otro propósito.
- api-key-header: (predeterminado: x-api-key) El nombre del encabezado o la consulta parámetro que se usa para pasar una clave de API a Edge Microgateway. Consulta también Cómo usar una clave de API.
- keepAuthHeader: (predeterminado: false) Si se configura como verdadero, el encabezado de autorización enviados en la solicitud se pasa al destino (se conserva).
- allowOAuthOnly: si se configura como verdadero, todas las API deben tener un Encabezado de autorización con un token de acceso del portador. Te permite autorizar solo la seguridad de OAuth (con retrocompatibilidad). (Se agregó 4.2.x)
- allowAPIKeyOnly: si se configura como true, cada API debe llevar un encabezado x-api-key (o una ubicación personalizada) con una API Key.Allows te permite permitir solo el modelo de seguridad de la clave de API (y, al mismo tiempo, mantener la retrocompatibilidad). (Se agregó 4.2.x)
Específico del complemento atributos
Consulta Cómo usar complementos para obtener detalles sobre los atributos configurables para cada complemento.
Filtra proxies
Puedes filtrar qué proxies con reconocimiento de micropuertas de enlace procesará una instancia de Edge Microgateway.
Cuando se inicia Edge Microgateway, se descargan todos los proxies que reconocen las micropuertas de enlace del
organización a la que está asociada. Usa la siguiente configuración para limitar los proxies
que microgateway procesará. Por ejemplo, esta configuración limita los proxies de microgateway
se procesará en tres: edgemicro_proxy-1
, edgemicro_proxy-2
y edgemicro_proxy-3
:
proxies: - edgemicro_proxy-1 - edgemicro_proxy-2 - edgemicro_proxy-3
Enmascara los datos de estadísticas
La siguiente configuración evita que se muestre la información de la ruta de la solicitud en Edge de análisis de datos en la nube. Agrega lo siguiente a la configuración de microgateway para enmascarar el URI de solicitud o ruta de acceso de la solicitud. Ten en cuenta que el URI consta de las partes de la ruta de acceso y el nombre de host de la solicitud.
analytics: mask_request_uri: 'string_to_mask' mask_request_path: 'string_to_mask'
Configura Edge Microgateway detrás de un firewall de la empresa
Versión compatible 4.2.x
Si Edge Microgateway se instala detrás de un firewall, es posible que la puerta de enlace no pueda comunicarse con Apigee Edge. En este caso, hay dos opciones que puedes considerar:
Opción 1:
La primera es configurar la opción Edgemicro: proxy_tunnel como verdadero en Archivo de configuración de microgateway:
edge_config: proxy: http://10.224.16.85:3128 proxy_tunnel: true
Cuando proxy_tunnel es true, Edge Microgateway usa el método CONNECT de HTTP para hacer un túnel para las solicitudes HTTP a través de una única conexión TCP. (Lo mismo sucede si las variables de entorno para configurar el proxy están habilitados para TLS).
Opción 2:
La segunda opción es especificar un proxy y establecer proxy_tunnel como falso en el microgateway. Por ejemplo:
edge_config: proxy: http://10.224.16.85:3128 proxy_tunnel: false
En este caso, puedes configurar las siguientes variables para controlar los hosts para cada HTTP que quieres usar o qué hosts no deben administrar Edge Microgateway proxies: HTTP_PROXY, HTTPS_PROXY, y NO_PROXY.
Puedes configurar NO_PROXY como una lista de dominios delimitada por comas a la que no se debe usar el proxy Edge Microgateway. Por ejemplo:
export NO_PROXY='localhost,localhost:8080'
Configura HTTP_PROXY y HTTPS_PROXY como el HTTP Edge Microgateway del extremo de proxy puede enviarle mensajes. Por ejemplo:
export HTTP_PROXY='http://localhost:3786' export HTTPS_PROXY='https://localhost:3786'
Para obtener más información sobre estas variables, consulta lo siguiente:
https://www.npmjs.com/package/request#controlling-proxy-behaviour-using-environment-variables
Consulta también
Cómo configurar Edge Microgateway en el firewall de una empresa en la comunidad de Apigee.
Usa comodines en Microgateway-aware proxies
Puedes usar uno o varios “*” comodines en la ruta base de
un proxy edgemicro_* (compatible con Microgateway). Por ejemplo, una ruta base
de /team/*/members les permite a los clientes
llama a https://[host]/team/blue/members y a https://[host]/team/green/members sin
necesita crear proxies de API nuevos para brindar asistencia a los equipos nuevos. Nota
que no se admite /**/
.
Importante: Apigee NO admite el uso de un comodín “*” como
primer elemento de una ruta base. Por ejemplo, esto NO es
compatible: búsqueda de /*/
.
Depuración y Solución de problemas
Conéctate a un depurador
Puedes ejecutar Edge Microgateway con un depurador, como node-inspector. Esto es útil para solución de problemas y depuración de complementos personalizados.
- Reinicia Edge Microgateway en modo de depuración. Para ello, agrega
DEBUG=*
a al principio del comando start. Por ejemplo:
DEBUG=* edgemicro start -o myorg -e test -k db4e9e8a95aa7fabfdeacbb1169d0a8cbe42bec19c6b98129e02 -s 6e56af7c1b26dfe93dae78a735c8afc9796b077d105ae5618ce7ed
Nota: En Windows, usa
SET DEBUG=*
. - Inicia el depurador y configúralo para que escuche en el número de puerto del proceso de depuración.
- Ahora puedes revisar el código de Edge Microgateway, establecer puntos de interrupción, observar expresiones etcétera.
Puedes especificar marcas estándar de Node.js relacionadas con el modo de depuración. Por ejemplo:
--nolazy
ayuda a depurar código asíncrono.
Verifica los archivos de registro
Si tienes problemas, asegúrate de examinar los archivos de registro para obtener detalles de la ejecución y detectar errores. información. Para obtener detalles, consulta Administra archivos de registro.
Cómo usar la seguridad de la clave de API
Las claves de API proporcionan un mecanismo sencillo para autenticar a los clientes que realizan solicitudes a Edge Microgateway Para obtener una clave de API, copia el valor de la clave de consumidor (también llamado ID de cliente). de un producto de Apigee Edge que incluye el proxy de autenticación de Edge Microgateway.
Almacenamiento de claves en caché
Las claves de API se intercambian por tokens del portador, que se almacenan en caché. Para inhabilitar el almacenamiento en caché, configura
el encabezado Cache-Control: no-cache
en las solicitudes entrantes a Edge
Microgateway
Uso de la seguridad de token OAuth2
Para obtener detalles sobre cómo usar un token OAuth con solicitudes de proxy, consulta Proteger Edge Microgateway.
Uso de una clave de API
Para obtener detalles sobre el uso de claves de API con solicitudes de proxy, consulta Proteger Edge Microgateway.
Cómo configurar el nombre de la clave de API
De forma predeterminada, x-api-key
es el nombre que se usa para el encabezado o la consulta de la clave de API.
parámetro. Puedes cambiar este valor predeterminado en el archivo de configuración, como se explica en Cómo realizar cambios en la configuración.
Para
ejemplo, para cambiar el nombre a apiKey:
oauth: allowNoAuthorization: false allowInvalidAuthorization: false api-key-header: apiKey