Estás viendo la documentación de Apigee Edge.
Ir a la documentación de
Apigee X. info
Versión 3.3.x
Mejoras y correcciones de errores de la versión 3.3.x
3.3.7
El 17 de julio de 2025, lanzamos las siguientes correcciones y mejoras en Edge Microgateway.
Corrección de errores y mejoras:
ID del problema | Tipo | Descripción |
---|---|---|
191613108 | Función |
Se mejoró Edge Microgateway (EMG) para admitir patrones de URL con comodines dentro de la configuración de La funcionalidad actualizada permitía la exclusión condicional de complementos según URLs dinámicas o de coincidencia de patrones. Esta modificación fue compatible con versiones anteriores, lo que garantizó que las configuraciones de URL estáticas existentes siguieran funcionando correctamente sin necesidad de realizar cambios. Por ejemplo: edgemicro: plugins: excludeUrls: '/hello,/proxy_one/*' # global exclude urls sequence: -oauth -json2xml -quota -json2xml: excludeUrls: '/hello/xml/*' # plugin level exclude urls |
135276110 | Función |
Los datos de análisis de Edge Microgateway (EMG) incluían Se actualizó EMG para completar automáticamente cada registro de análisis con un UUID único para |
422696257 | Error |
Se mejoró significativamente la estabilidad del sistema con la resolución de un problema crítico de bloqueo. La corrección implicó identificar y corregir una configuración incorrecta dentro de un módulo interno, que anteriormente había causado un bucle de proceso recurrente que provocaba una sobrecarga del sistema. Esta corrección específica eliminó el bucle, lo que generó un sistema más sólido y confiable. |
Se corrigieron problemas de seguridad
3.3.6
El 16 de abril de 2025, lanzamos las siguientes correcciones y mejoras en Edge Microgateway.
Versiones de los componentes:
En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.3.6. Ten en cuenta que, como cada componente es un proyecto independiente, los números de versión pueden no coincidir con la versión del producto principal:
microgateway | core | config | complementos | edgeauth |
---|---|---|---|---|
3.3.6 | 3.3.6 | 3.3.6 | 3.3.6 | 3.2.2 |
Se corrigieron problemas de seguridad
- CVE-2025-27789
- CVE-2024-21538
- CVE-2024-12133
3.3.5
El viernes 20 de diciembre de 2024, lanzamos las siguientes correcciones y mejoras en Edge Microgateway.
Versiones de los componentes:
En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.3.5. Ten en cuenta que, como cada componente es un proyecto independiente, los números de versión pueden no coincidir con la versión del producto principal:
microgateway | core | config | complementos | edgeauth |
---|---|---|---|---|
3.3.5 | 3.3.5 | 3.3.5 | 3.3.5 | 3.2.2 |
Corrección de errores y mejoras:
ID del problema | Tipo | Descripción |
---|---|---|
383024578 | Función |
Agregamos compatibilidad con la versión 22 de Node.js y quitamos la compatibilidad con la versión 16. Si usas Node.js v18, Edge Microgateway imprimirá el siguiente mensaje de error al inicio: current nodejs version is 18.x.x Note, v18.x.x will be out of support soon, see https://docs.apigee.com/release/notes/edge-microgateway-release-notes-0 Si ejecutas una versión anterior de Node.js, verás este mensaje de error: You are using a version of NodeJS that is not supported |
Se corrigieron problemas de seguridad
- CVE-2024-21538
- CVE-2024-45590
- CVE-2019-3844
- CVE-2019-12290
- CVE-2020-1751
- CVE-2018-12886
- CVE-2023-50387
- CVE-2019-3843
- CVE-2022-4415
- CVE-2021-3997
3.3.4
El 18 de septiembre de 2024, lanzamos las siguientes correcciones y mejoras en Edge Microgateway.
Versiones de los componentes:
En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.3.4. Ten en cuenta que, como cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión del producto principal:
microgateway | core | config | complementos | edgeauth |
---|---|---|---|---|
3.3.4 | 3.3.4 | 3.3.4 | 3.3.4 | 3.2.2 |
Corrección de errores y mejoras:
ID del problema | Tipo | Descripción |
---|---|---|
675987751 | Error |
Se solucionó un problema por el que Edge Microgateway no registraba las direcciones IP del cliente. |
Se corrigieron problemas de seguridad
- CVE-2021-23337
- CVE-2024-4068
- CVE-2020-28469
- CVE-2020-28503
3.3.3
El 25 de abril de 2024, lanzamos las siguientes correcciones y mejoras en Edge Microgateway.
Versiones de los componentes:
En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.3.3. Ten en cuenta que, como cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión del producto principal:
microgateway | core | config | complementos | edgeauth |
---|---|---|---|---|
3.3.3 | 3.3.3 | 3.3.3 | 3.3.3 | 3.2.2 |
Corrección de errores y mejoras:
ID del problema | Tipo | Descripción |
---|---|---|
315939218 | Quitada |
Se quitó el complemento del cliente de Eureka de Edge Microgateway. La eliminación de esta función no afecta la funcionalidad principal de Edge Microgateway ni la reescritura de URLs de destino. Para obtener más detalles, consulta Cómo reescribir URLs de destino en complementos'. |
283947053 | Quitada |
Se quitó la compatibilidad con |
Se corrigieron problemas de seguridad
- CVE-2023-0842
- CVE-2023-26115
- CVE-2022-25883
- CVE-2017-20162
- CVE-2022-31129
- CVE-2022-23539
- CVE-2022-23541
- CVE-2022-23540
- CVE-2024-21484
- CVE-2022-46175
- CVE-2023-45133
- CVE-2020-15366
- CVE-2023-26136
- CVE-2023-26115
3.3.2
El 18 de agosto de 2023, lanzamos las siguientes correcciones y mejoras en Edge Microgateway.
Versiones de los componentes:
En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.3.2. Ten en cuenta que, como cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión del producto principal:
microgateway | core | config | complementos | edgeauth |
---|---|---|---|---|
3.3.2 | 3.3.2 | 3.3.2 | 3.3.2 | 3.2.2 |
Corrección de errores y mejoras:
ID del problema | Tipo | Descripción |
---|---|---|
296187679 | Función |
Las versiones de Node.js compatibles incluyen las versiones 16, 18 y 20. A partir de la versión 3.3.2, los comandos de la CLI de Edge Microgateway solo funcionarán en las versiones compatibles. La ejecución de comandos de la CLI en versiones no compatibles generará un error. Consulta también Software y versiones compatibles con Apigee. |
283947053 | Error |
Se corrigió un problema por el que Edge Microgateway devolvía el primer producto de API en la lista de productos de API asociados a una app. Ahora determinamos el producto de API correcto que se devolverá según la solicitud. |
274443329 | Error |
Se corrigió un problema por el que Docker extraía una versión de imagen desactualizada.
Se actualizó la versión del nodo de Docker a la versión 18 de Node.js. Ahora compilamos la imagen de Docker con la versión |
Se corrigieron problemas de seguridad
Ninguno
3.3.1
El 7 de junio de 2022, lanzamos las siguientes correcciones y mejoras en Edge Microgateway.
Versiones de los componentes:
En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.3.1. Ten en cuenta que, como cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión del producto principal:
microgateway | core | config | complementos | edgeauth |
---|---|---|---|---|
3.3.1 | 3.3.1 | 3.3.1 | 3.3.1 | 3.2.2 |
Corrección de errores y mejoras:
ID del problema | Tipo | Descripción |
---|---|---|
220885293 | Función |
Ahora se admite la versión 16 de Node.js. |
231972608 | Error |
Se corrigió un problema en el que el comando |
233315475 | Error |
Se corrigió un problema por el que el complemento |
221432797 | Cambiar |
Se actualizó la versión de Docker Node.js de la imagen base de Edge Microgateway a Node.js 14. |
215748732 | Función |
Se agregó compatibilidad con la autenticación de tokens de SAML al comando revokekeys.
Ahora puedes pasar un token de SAML en lugar de las credenciales de nombre de usuario y contraseña con la opción Para obtener más información, consulta la referencia de la línea de comandos. |
218723889 | Actualización de documentos |
Se actualizó la documentación para incluir un vínculo a los complementos compatibles de Edge Microgateway almacenados en GitHub. Consulta Complementos existentes incluidos en Edge Microgateway. |
Se corrigieron problemas de seguridad
ID del problema | Descripción |
---|---|
CVE-2021-23413 | Esto afecta al paquete jszip anterior a la versión 3.7.0. La creación de un nuevo archivo zip con nombres de archivo establecidos en valores de prototipos de objetos (p. ej., proto, toString, etc.) genera un objeto devuelto con una instancia de prototipo modificada. |
3.3.0
El 4 de febrero de 2022, lanzamos las siguientes correcciones y mejoras en Edge Microgateway.
Versiones de los componentes:
En la siguiente tabla, se indican los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.3.0. Ten en cuenta que, como cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión del producto principal:
microgateway | core | config | complementos | edgeauth |
---|---|---|---|---|
3.3.0 | 3.3.0 | 3.3.0 | 3.3.0 | 3.2.2 |
Corrección de errores y mejoras:
ID del problema | Tipo | Descripción |
---|---|---|
219556824 | Problema conocido | Edge Microgateway Gateway 3.3.0 no es compatible con el comando npm audit fix.
Ejecutar
Si ejecutas
Para corregir el problema, ejecuta el siguiente comando para restablecer la versión correcta de npm install apigeetool@0.15.1 Este problema se abordará en una versión futura de Edge Microgateway. |
138622990 | Función |
Se agregó una nueva marca para el complemento Quota, |
192534424 | Error |
Se corrigió un problema por el que el código de respuesta que se veía en las estadísticas de Apigee no coincidía con el código de respuesta de Edge Microgateway. |
198986036 | Mejora | Edge Microgateway ahora recupera la clave pública de un proveedor de identidad (IDP) en cada intervalo de sondeo y también actualiza la clave en caso de que cambie la clave pública del IDP.
Anteriormente, el complemento extauth no podía actualizar la clave pública sin volver a cargar Edge Microgateway si cambiaba la clave pública de un IDP.
|
168713541 | Error |
Se mejoró la documentación para explicar cómo configurar TLS/SSL para varios destinos. Consulta Cómo usar las opciones de SSL/TLS del cliente. |
171538483 | Error |
Se modificó la documentación para corregir la convención de nomenclatura de los archivos de registro. Consulta las convenciones de nomenclatura de archivos de registro. |
157908466 | Error |
Se cambió la documentación para explicar correctamente cómo instalar una versión específica de Edge Microgateway. Consulta Cómo actualizar Edge Microgateway si tienes conexión a Internet. |
215748427 | Error | Se corrigió un problema por el que el comando revokekeys devolvía un error cuando se revocaba una clave con un par de clave y secreto existente. |
205524197 | Error | Se actualizó la documentación para incluir la lista completa de niveles de registro. Consulta atributos de edgemicro y cómo establecer el nivel de registro. |
Versión 3.2.x
Mejoras y correcciones de errores de la versión 3.2.x
3.2.3
El 17 de septiembre de 2021, lanzamos las siguientes correcciones y mejoras en Edge Microgateway.
Versiones de los componentes:
En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.2.3. Ten en cuenta que, como cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión del producto principal:
microgateway | core | config | complementos | edgeauth |
---|---|---|---|---|
3.2.3 | 3.2.3 | 3.2.3 | 3.2.3 | 3.2.2 |
Corrección de errores y mejoras:
ID del problema | Tipo | Descripción |
---|---|---|
192416584 | Función |
El atributo de configuración |
192799989 | Función |
El atributo de configuración |
148062415 | Error | Se corrigió un problema por el que, en el contexto de un contenedor de Docker, Edge Microgateway no se cerraba correctamente con el comando docker stop {containerId} . Se detuvo el proceso, pero no se quitaron los archivos .sock y .pid . Ahora se quitaron los archivos y se reinició el mismo contenedor, lo que funciona según lo esperado.
|
190715670 | Error | Se corrigió un problema por el que algunas solicitudes se bloqueaban durante la actividad de recarga interna del microgateway. Este problema era intermitente y se producía en situaciones de tráfico alto.
El problema se observó cuando se usaron las funciones tokenCache y cacheKey del complemento de OAuth.
|
183910111 | Error | Se corrigió un problema por el que una URL de ruta de acceso de recursos con una barra final se interpretaba incorrectamente como una ruta de acceso de recursos independiente. Ahora, por ejemplo, las rutas de acceso /country/all y /country/all/ se interpretan como la misma ruta de acceso. |
Se corrigieron problemas de seguridad
ID del problema | Descripción |
---|---|
CVE-2020-28503 | Las versiones del paquete copy-props anteriores a la 2.0.5 son vulnerables a la contaminación de prototipos a través de la funcionalidad principal. |
CVE-2021-23343 | Todas las versiones de path-parse son vulnerables a la denegación de servicio de expresión regular (ReDoS) a través de las expresiones regulares splitDeviceRe, splitTailRe y splitPathRe. El ReDoS exhibe una complejidad temporal en el peor caso polinómica. |
3.2.2
El jueves 15 de julio de 2021, lanzamos las siguientes correcciones y mejoras en Edge Microgateway.
Versiones de los componentes:
En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.2.2. Ten en cuenta que, como cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión del producto principal:
microgateway | core | config | complementos | edgeauth |
---|---|---|---|---|
3.2.2 | 3.2.2 | 3.2.2 | 3.2.2 | 3.2.2 |
Corrección de errores y mejoras:
ID del problema | Tipo | Descripción |
---|---|---|
185323500 | Cambiar |
El valor de
Las APIs de solicitud de token y de actualización de token ahora devuelven
Para cumplir con el
RFC 6749, The OAuth 2.0 Authorization Framework, el valor esperado para el parámetro de configuración |
188492065 | Cambiar |
Fin de la compatibilidad con Node.js 8
A partir de la versión 3.2.2, ya no se admitirá Node.js 8. Para obtener más información, consulta Software y versiones compatibles: Edge Microgateway. |
183990345 | Función |
Configura el registro de salida para el contenedor de Docker
El parámetro de configuración de Edge Microgateway to_console te permite elegir enviar la información de registro a la salida estándar en lugar de a un archivo de registro. Si sigues los pasos para ejecutar Edge Microgateway en un contenedor de Docker, el contenedor redirecciona de forma predeterminada la salida de stdout y de errores a un archivo ubicado en el contenedor en la siguiente ubicación:
Para evitar que se envíe información de registro a Para obtener detalles sobre cómo usar esta nueva variable, consulta Usa Docker para Edge Microgateway. |
183057665 | Función |
Haz que las rutas de acceso de los archivos edgemicro.pid y edgemicro.sock sean configurables.
Se agregó un nuevo parámetro |
191352643 | Función | Se actualizó la imagen de Docker para Edge Microgateway para usar la versión 12.22 de Node.js. Consulta Cómo usar Docker para Edge Microgateway. |
Se corrigieron problemas de seguridad
ID del problema | Descripción |
---|---|
CVE-2021-28860 | En Node.js mixme, antes de la versión 0.5.1, un atacante puede agregar o alterar propiedades de un objeto a través de "__proto__" con las funciones mutate() y merge(). El atributo contaminado se asignará directamente a cada objeto del programa. Esto pondrá en riesgo la disponibilidad del programa y podría causar una denegación de servicio (DoS). |
CVE-2021-30246 | En el paquete jsrsasign hasta la versión 10.1.13 para Node.js, algunas firmas RSA PKCS#1 v1.5 no válidas se reconocen erróneamente como válidas. NOTA: No se conoce ningún ataque práctico. |
CVE-2021-23358 | El paquete underscore de la versión 1.13.0-0 y anteriores a la 1.13.0-2, y de la versión 1.3.2 y anteriores a la 1.12.1 son vulnerables a la inyección de código arbitrario a través de la función de plantilla, en particular cuando se pasa una propiedad de variable como argumento, ya que no se desinfecta. |
CVE-2021-29469 | Node-redis es un cliente de Redis para Node.js. Antes de la versión 3.1.1, cuando un cliente estaba en modo de supervisión, la expresión regular que se usaba para detectar mensajes de supervisión podía causar un retroceso exponencial en algunas cadenas. Este problema podría provocar una denegación de servicio. El problema se corrigió en la versión 3.1.1. |
CVE-2020-8174 | Se actualizó la imagen de Docker para usar la versión 12.22 de Node.js |
3.2.1
El viernes 5 de marzo de 2021, lanzamos las siguientes correcciones y mejoras en Edge Microgateway.
Versiones de los componentes:
En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.2.1. Ten en cuenta que, como cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión del producto principal:
microgateway | core | config | complementos | edgeauth |
---|---|---|---|---|
3.2.1 | 3.2.1 | 3.2.1 | 3.2.1 | 3.2.1 |
Corrección de errores y mejoras:
ID del problema | Tipo | Descripción |
---|---|---|
180362102 | Error |
Se corrigió un problema en el que las claves JWK que tenían un valor nulo provocaban errores en las aplicaciones.
Ahora se controla la condición nula para evitar pasar un valor nulo en Nota: Esta corrección requiere que actualices el proxy edgemicro-auth. |
179971737 | Error |
Se solucionó un problema por el que las respuestas de estado 4XX / 5XX de destino se registraban como errores de proxy para los proxies edgemicro_*.
En el caso de las transacciones de Edge Microgateway, se mostraban recuentos incorrectos de errores de destino en el panel de análisis de código de error de Apigee Edge. Los códigos de error de los errores de destino se contaban como errores de proxy. Este problema se solucionó y ahora se muestran los recuentos de errores de destino correctos. |
179674670 | Función |
Se agregó una nueva función que te permite filtrar la lista de productos de API incluidos en un JWT según los códigos de estado del producto.
Los productos de API tienen tres códigos de estado: Pendiente, Aprobado y Revocado.
Se agregó una nueva propiedad llamada
|
178423436 | Error |
Los valores de clave y secreto que se pasan en la CLI o a través de variables de entorno son visibles en los argumentos de la línea de comandos del Explorador de procesos.
Se informó un problema en el que los valores de clave y secreto de Edge Microgateway que se pasaban desde argumentos de la línea de comandos o se establecían a través de variables de entorno se mostraban en los argumentos de los procesos secundarios o de trabajo del nodo después de iniciar el microgateway. Para corregir este problema en el caso de las variables de entorno, los valores ya no son visibles en los argumentos de la línea de comandos del explorador de procesos. Si los valores de la clave y el secreto se pasan en la línea de comandos al iniciar el microgateway, los parámetros de configuración reemplazan cualquier valor de variable de entorno, si se establece. En este caso, los valores siguen siendo visibles en los argumentos de la línea de comandos del explorador de procesos. |
178341593 | Error |
Se corrigió un error de documentación para el complemento apikeys.
El archivo README del complemento apikeys incluía incorrectamente una propiedad
La propiedad |
179366445 | Error |
Se solucionó un problema por el que se descartaba la carga útil de todas las solicitudes GET
a los objetivos.
Puedes controlar el comportamiento deseado con un nuevo parámetro de configuración, Por ejemplo: edgemicro: enable_GET_req_body: true Según RFC 7231, sección 4.3.1: GET, una carga útil de solicitud GET no tiene una semántica definida, por lo que se puede enviar al destino. |
3.2.0
El jueves 21 de enero de 2021, lanzamos las siguientes correcciones y mejoras en Edge Microgateway.
Versiones de los componentes:
En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.2.0. Ten en cuenta que, como cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión del producto principal:
microgateway | core | config | complementos | edgeauth |
---|---|---|---|---|
3.2.0 | 3.2.0 | 3.2.0 | 3.2.0 | 3.2.0 |
Corrección de errores y mejoras:
ID del problema | Tipo | Descripción |
---|---|---|
152640618 | Error | Habilitó el complemento extauth
para establecer el encabezado x-api-key de modo que
contenga el client_id en
el objeto de solicitud cuando el token sea válido. Luego, el x-api-key está disponible para los complementos posteriores.
|
168836123, 172295489, 176462355, 176462872 | Función | Se agregó compatibilidad con Node.js 14. |
172376835 | Error | Usa la unidad de tiempo correcta para el extremo /token en el proxy edgemicro-auth .
Se corrigió un problema por el que el extremo
La corrección no cambia la duración del tiempo de vencimiento, sino solo la unidad de tiempo. Solo se aplica al campo Si los clientes se basaron en el valor Si los clientes siempre usaron los valores del token JWT para evaluar el período de actualización del token, no deberían necesitar realizar cambios. |
173064680 | Error | Se corrigió un problema por el que la microgateway finalizaba la solicitud de destino
antes de que se procesaran todos los fragmentos de datos.
Este es un problema intermitente que se observa en las solicitudes con un tamaño de carga útil alto y que se introdujo en la versión 3.1.7. |
174640712 | Error | Agrega un tratamiento de datos adecuado a los complementos.
Se agregó el control adecuado de datos a los siguientes complementos: |
Versión 3.1.x
Mejoras y correcciones de errores de la versión 3.1.x
3.1.8
El lunes 16 de noviembre de 2020, lanzamos las siguientes correcciones y mejoras en Edge Microgateway.
Versiones de los componentes:
En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.1.8. Ten en cuenta que, como cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión del producto principal:
microgateway | core | config | complementos | edgeauth |
---|---|---|---|---|
3.1.8 | 3.1.9 | 3.1.7 | 3.1.3 | 3.1.2 |
Corrección de errores y mejoras:
ID del problema | Tipo | Descripción |
---|---|---|
169201295 | Error | Los valores numéricos y booleanos se analizaron de forma incorrecta en las etiquetas de variables de entorno.
El control de reemplazo de variables de entorno analizaba todos los valores como cadenas, lo que generaba errores de análisis para los valores booleanos o numéricos. Por ejemplo, |
169202749 | Error | En algunos casos, no funcionaba el reemplazo de variables de entorno.
El control de reemplazo de variables de entorno no funcionaba para algunos atributos de configuración. Consulta Cómo establecer atributos de configuración con valores de variables de entorno para obtener información sobre las limitaciones. |
168732942 | Error | Se solucionó un problema por el que los permisos de OAuth no restringían el acceso al proxy de API como se esperaba.
El flujo |
170609716 | Error | Se solucionó un problema por el que el flujo /refresh en el proxy edgemicro-auth generaba un JWT sin apiProductList .
|
170708611 | Error | Los permisos de productos de API no están disponibles para los complementos personalizados.
Los alcances de los productos de API no se pusieron a disposición de los complementos personalizados ni se escribieron en el archivo de configuración de la caché. Consulta Acerca de la función init() del complemento para ver cómo se hace accesible a los complementos la información detallada del alcance. |
169810710 | Función | Se guardaron la clave y el secreto en el archivo de configuración de la caché.
La clave y el secreto de Edge Microgateway se guardaban en el archivo yaml de configuración de la caché cada vez que se reiniciaba o se iniciaba el servidor. En la versión 3.1.8, la clave y el secreto ya no se guardan en el archivo de configuración de la caché. Si la clave y el secreto se escribieron anteriormente en el archivo de configuración de la caché, se quitarán. |
170708621 | Función | No se puede inhabilitar el complemento de Analytics.
En versiones anteriores de microgateway, el complemento de Analytics estaba habilitado de forma predeterminada y no había forma de inhabilitarlo. En la versión 3.1.8, se introdujo un nuevo parámetro de configuración, |
159571119 | Error | Se produce un error de valor nulo en el gancho onerror_request de los complementos personalizados para el tiempo de espera de respuesta o de socket.
Se realizaron correcciones para propagar el código de estado HTTP y el mensaje de error correctos para los eventos |
3.1.7
El jueves 24 de septiembre de 2020, lanzamos las siguientes correcciones y mejoras en Edge Microgateway.
Versiones de los componentes:
En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.1.7. Ten en cuenta que, como cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión del producto principal:
microgateway | core | config | complementos | edgeauth |
---|---|---|---|---|
3.1.7 | 3.1.8 | 3.1.6 | 3.1.2 | 3.1.1 |
Corrección de errores y mejoras:
ID del problema | Tipo | Descripción |
---|---|---|
131708105 | Error | El complemento analytics controló de forma incorrecta la respuesta nula de las llamadas a axpublisher y provocó que los trabajadores salieran.
|
133162200 | Error | La información de la app del desarrollador no se completó en Analytics con respuestas de estado 403 causadas por rutas de recursos de productos no autorizadas o respuestas 401 causadas por un token vencido o no válido.
|
132194290 | Error | Los registros de Analytics se descartan cuando Apigee Edge rechaza algunos registros de Analytics.
|
158618994 | Error | Conexiones excesivas de clientes de Redis.
|
161404373 | Error | En el caso de una respuesta con estado 404, el URI completo del proxy se incluyó en el mensaje de respuesta. |
166356972 | Error | La ejecución de Edge Microgateway con la versión 12.13.x o posterior de Node.js generó el siguiente error cuando se ejecutaron complementos que transforman la carga útil de la solicitud: {"message":"write after end","code":"ERR_STREAM_WRITE_AFTER_END"}
|
168681746 | Error | La recarga manual de Edge Microgateway con redisBasedConfigCache:true no funcionaba.
|
149256174 | Error | No se registraron errores del complemento de OAuth para fallas de red.
|
166517190 | Error | Synchronizer no almacenó ni recuperó los datos de jwk_public_keys , y no los almacenó en Redis.
|
141659881 | Error | El control de errores del certificado de destino no válido
mostró respuestas de error engañosas.
|
142808699 | Error | El complemento accesscontrol no controlaba correctamente las secciones "allow" y "deny".
Ahora, el microgateway procesa correctamente la sección de rechazo y respeta el orden de las secciones "permitir" y "rechazar". Se agregó una nueva propiedad |
3.1.6
El jueves 20 de agosto de 2020, lanzamos las siguientes correcciones y mejoras en Edge Microgateway.
Versiones de los componentes:
En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.1.6. Ten en cuenta que, como cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión del producto principal:
microgateway | core | config | complementos | edgeauth |
---|---|---|---|---|
3.1.6 | 3.1.7 | 3.1.5 | 3.1.1 | 3.1.1 |
Corrección de errores y mejoras:
ID del problema | Tipo | Descripción | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
163711992 | Función | Opciones personalizadas de ubicación de archivos de claves y certificados para el comando rotatekey.
Para obtener detalles sobre estas nuevas opciones de comando, consulta Rotación de claves. |
||||||||||||
154838259 | Error | Se corrigió la rotación de claves para varias instancias en varios centros de datos
Para obtener detalles sobre estas nuevas opciones de comando, consulta Rotación de claves. |
||||||||||||
145525133 | Característica Alfa | Nuevas métricas de complementos
Consulta el archivo README de New plugin metrics en GitHub para obtener más detalles. |
||||||||||||
159396879 | Error | Remove unused package Helper | ||||||||||||
161092943 | Error | La validación de la ruta base fue incorrecta
Antes de la versión 3.1.6, la ruta base del proxy no coincidía correctamente cuando la ruta base no terminaba con A continuación, se explica con más detalle el comportamiento anterior (que se corrigió en la versión 3.1.6):
Supongamos que un proxy está configurado con la ruta base
|
||||||||||||
160431789 | Error | Complementos personalizados: El objeto de configuración que se pasa a init no se completa
La configuración de Apigee Edge está disponible en el objeto de configuración para todos los complementos personalizados después de la combinación con el archivo de configuración de Edge Microgateway. Consulta config. |
||||||||||||
162758808 | Error | Nueva configuración de cuotas para el almacén de respaldo de Redis
Puedes usar la siguiente configuración para especificar un almacén de respaldo de Redis para las cuotas. Para obtener más información, consulta Cómo usar un almacén de datos de Redis para la cuota. |
3.1.5
El viernes 26 de junio de 2020, lanzamos las siguientes correcciones y mejoras en Edge Microgateway.
Versiones de los componentes:
En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.1.5. Ten en cuenta que, como cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión del producto principal:
microgateway | core | config | complementos | edgeauth |
---|---|---|---|---|
3.1.5 | 3.1.6 | 3.1.4 | 3.1.0 | 3.1.0 |
Corrección de errores y mejoras:
ID del problema | Tipo | Descripción |
---|---|---|
159210507 | Función | Configuración para excluir el procesamiento de complementos
Se agregó una nueva función de configuración para omitir el procesamiento de complementos para URLs especificadas. Para obtener más información, consulta Cómo configurar URLs de exclusión para complementos. |
156986819 y 158529319 | Error | Se corrigieron problemas con el complemento json2xml
Se corrigieron problemas por los que el complemento producía encabezados Content-Type duplicados y por los que los encabezados no se enviaban al destino como se esperaba en algunos casos. |
156560067 y 159688634 | Función | Usa valores de variables de entorno en la configuración Se agregó una función que te permite especificar variables de entorno con etiquetas en el archivo de configuración. Las etiquetas de variables de entorno especificadas se reemplazan por los valores reales de las variables de entorno. Los reemplazos se almacenan solo en la memoria y no en los archivos de configuración o caché originales. Para obtener más información, consulta Cómo establecer atributos de configuración con valores de variables de entorno. |
155077210 | Error | Se corrigió un problema de formato de registro.
Se corrigió un problema por el que el host de destino aparecía en los registros con dos puntos adicionales anexados. |
153673257 | Error | (Solo en Edge para la nube privada) No se extraen los productos compatibles con Microgateway Se corrigió un problema por el que no se extraían los productos compatibles con microgateways. Este problema solo existía en las instalaciones de Edge para la nube privada. |
154956890, 155008028, 155829434 | Función | Se admite el filtrado de productos descargados por atributos personalizados
Para obtener más detalles, consulta Cómo filtrar productos por atributos personalizados. |
153949764 | Error | Se corrigió un problema por el que el proceso de Edge Microgateway fallaba cuando el archivo de destino del registro estaba lleno
Se mejoró el manejo de excepciones para detectar el error y mostrar un mensaje en la consola. |
155499600 | Error | Se corrigieron problemas relacionados con la rotación de claves y la actualización de KVM
Consulta también Rotación de claves de JWT. |
3.1.4
El viernes 23 de abril de 2020, lanzamos la siguiente corrección para Edge Microgateway.
Corrección de errores:
Se corrigió un problema de dependencia en la versión 3.1.3. La versión 3.1.3 se marcó como obsoleta en el repositorio de npm. De lo contrario, todas las correcciones de errores y mejoras descritas en la nota de la versión 3.1.3 se aplican a esta versión.
3.1.3
El miércoles 15 de abril de 2020, lanzamos las siguientes correcciones y mejoras en Edge Microgateway.
Versiones de los componentes:
En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.1.3. Ten en cuenta que, como cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión del producto principal:
microgateway | core | config | complementos | edgeauth |
---|---|---|---|---|
3.1.3 | 3.1.3 | 3.1.3 | 3.0.14 | 3.0.9 |
Corrección de errores y mejoras:
- 153509313: Se corrigió un problema por el que el módulo de depuración de Node.js provocaba pérdidas de memoria. El problema existe en las versiones v3.1.0, v3.1.1 y 3.1.2.
- 153509313: Se corrigió un problema en el que se imprimía el mismo ID de mensaje para dos transacciones diferentes en el resultado del registro.
- 151673570: Se corrigió un problema por el que Edge Microgateway no se actualizaba para usar las nuevas APIs de KVM de Apigee. Edge Microgateway ahora usa los nuevos comandos para agregar y actualizar los valores de KVM.
- 152822846: En versiones anteriores, se actualizó Edge Microgateway para que su procesamiento del mapeo de rutas de recursos coincida con el de Apigee Edge. En esta versión, se corrigió un problema por el que el patrón
/literal_string/*
no se controlaba correctamente. Por ejemplo,/*/2/*
. Consulta también Configura el comportamiento de una ruta de acceso de los recursos '/', '/*' y '/**'. - 152005003: Se realizaron cambios para habilitar identificadores con alcance de organización y entorno para las cuotas.
- 152005003: Se realizaron cambios para habilitar identificadores con alcance de organización y entorno para las cuotas. La combinación de "org + env + appName + productName" se usa como identificador de cuota.
3.1.2
El lunes 16 de marzo de 2020, lanzamos las siguientes correcciones y mejoras en Edge Microgateway.
Versiones de los componentes:
En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.1.3. Ten en cuenta que, como cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión del producto principal:
microgateway | core | config | complementos | edgeauth |
---|---|---|---|---|
3.1.2 | 3.1.2 | 3.1.2 | 3.0.13 | 3.0.9 |
Corrección de errores y mejoras:
- 151285018: Se realizó una mejora en la función para agregar compatibilidad con el proxy HTTP para el tráfico entre Edge Microgateway y los destinos de backend. Además, se corrigieron problemas relacionados con la compatibilidad existente del proxy HTTP entre Edge Microgateway y Apigee Edge. Para obtener más información, consulta los siguientes vínculos:
- 149101890: Se cambió de ERROR a INFO el código de notificación de registro para los casos en los que el servidor de destino o el balanceador de cargas cierran su conexión.
- 150746985: Se corrigió un problema por el que el comando
edgemicro verify
no funcionaba correctamente siredisBasedConfigCache: true
oquotaUri: https://%s-%s.apigee.net/edgemicro-auth
estaban presentes en el archivo de configuración. - 151284716: Se realizó una mejora para cerrar las conexiones del servidor más rápido cuando se reinician los trabajadores durante una recarga.
- 151588764: Actualiza la versión de Node.js en la imagen de Docker que se usa para ejecutar Edge Microgateway en un contenedor de Docker a la versión 12, ya que Node.js v8 está obsoleta.
- 151306049: Se realizó una actualización de la documentación para enumerar las APIs de administración de Apigee Edge que usan los comandos de la CLI de Edge Microgateway. Consulta ¿Qué APIs de administración usa Edge Microgateway?.
3.1.1
El jueves 20 de febrero, lanzamos las siguientes correcciones y mejoras en Edge Microgateway.
Versiones de los componentes:
En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.1.1. Ten en cuenta que, como cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión del producto principal:
microgateway | core | config | complementos | edgeauth |
---|---|---|---|---|
3.1.1 | 3.1.1 | 3.1.1 | 3.0.13 | 3.0.9 |
Corrección de errores y mejoras:
-
146069701: Se corrigió un problema por el que el módulo
microgateway-core
no respetaba las variables de entornoHTTP_PROXY
yHTTPS_PROXY
. Con este cambio, la configuración del proxy en el archivo de configuración YAML, si se especifica, ahora se ignora. Solo se usan las variables de entorno para especificar el proxy.Si deseas especificar la configuración del proxy en el archivo de configuración, también debes especificar una variable
HTTP_PROXY
que mencione la misma URL del proxy que la especificada en el archivo de configuración. Por ejemplo, si especificas la siguiente configuración:edge_config: proxy: http://10.128.0.20:3128 proxy_tunnel: true
También debes especificar esta variable de entorno:
HTTP_PROXY=http://10.128.0.20:3128
- 146320620: Se agregó un nuevo parámetro de configuración,
edgemicro.headers_timeout
. Este atributo limita la cantidad de tiempo (en milisegundos) que el analizador de HTTP esperará para recibir los encabezados HTTP completos. Por ejemplo:edgemicro: keep_alive_timeout: 6000 headers_timeout: 12000
Internamente, el parámetro establece el atributo
Server.headersTimeout
de Node.js en las solicitudes. (Valor predeterminado: 5 segundos más que el tiempo establecido conedgemicro.keep_alive_timeout
. Este parámetro de configuración predeterminado evita que los balanceadores de cargas o los proxies descarten erróneamente la conexión. 149278885: Se agregó una nueva función que te permite establecer el tiempo de espera de la API de destino a nivel del proxy de API en lugar de usar un parámetro de configuración de tiempo de espera global.
Si configuras la propiedad TargetEndpoint
io.timeout.millis
en el proxy de API, Edge Microgateway podrá recuperar esa propiedad y aplicar tiempos de espera específicos del extremo de destino. Si no se aplica este parámetro, Edge Microgateway usa el tiempo de espera global especificado conedgemicro.request_timeout
.
3.1.0
El martes 21 de enero, lanzamos las siguientes correcciones y mejoras en Edge Microgateway.
Versiones de los componentes:
En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.1.0. Ten en cuenta que, como cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión del producto principal:
microgateway | core | config | complementos | edgeauth |
---|---|---|---|---|
3.1.0 | 3.1.0 | 3.1.0 | 3.0.12 | 3.0.9 |
Corrección de errores y mejoras:
-
144187500: Se registrará un evento nuevo de nivel WARN cuando se active la marca
quotas.failOpen
. Esta marca se activa si se produce un error de procesamiento de cuotas o si la solicitud de "aplicación de cuota" a Edge no actualiza los contadores de cuotas remotos. En este caso, la cuota se procesará solo en función de los recuentos locales hasta que se produzca la próxima sincronización exitosa de la cuota remota. Anteriormente, este evento solo se registraba cuando el nivel de registro se establecía en DEBUG.Por ejemplo:
2020-01-20T02:52:53.040Z [warn][localhost:8000][5][foo-eval][test][hello/][] [DbpGIq9jKfzPX8jvXEivhA0LPwE][f372cc30-3b2f-11ea-845f-a627f][quota][remote quota not available so processing locally, setting quota-failed-open for identifier: AppQuota60.Quota60] [GET][][][][]
- 145023519: Se solucionó un problema por el que las transacciones en curso o nuevas se veían afectadas cuando Edge Microgateway detectaba un cambio en un proxy de API. Ahora, cuando se realiza un cambio en un proxy, Edge Microgateway actualiza la caché y se reinician los nodos trabajadores. Con este cambio, no se verán afectadas las transacciones en curso ni las nuevas llamadas a la API que se envíen a la micropuerta de enlace.
- 146378327: Se cambió el nivel de registro de
sourceRequest
,targetRequest
ytargetResponse
al nivel INFO. - 146019878: Se corrigió una discrepancia entre la latencia que se calculó para "Rendimiento del proxy de API" en las estadísticas de Edge y los eventos de registro sourceResponse/targetResponse de Edge Microgateway. Ahora, la latencia en los eventos de registro de Microgateway y Edge Analytics está alineada.
- Cambios relacionados con la lógica de coincidencia de patrones:
- 147027862: Se actualizó el complemento de OAuth para admitir los siguientes patrones de coincidencia de rutas de recursos, como se especifica en los productos de API:
/{literal}**
/{literal}*
- Cualquier combinación de los dos patrones anteriores
Con este cambio, el complemento de Edge Microgateway ahora sigue el mismo patrón de coincidencia que Apigee Edge, como se explica en Configura el comportamiento de una ruta de acceso de los recursos "/", "/*" y "/**".
- 145644205: Se actualizó la lógica de coincidencia de patrones del complemento apiKeys para que coincida con el complemento oauth.
- 147027862: Se actualizó el complemento de OAuth para admitir los siguientes patrones de coincidencia de rutas de recursos, como se especifica en los productos de API:
- 143488312: Se corrigió un problema por el que los espacios iniciales o finales en el parámetro client ID hacían que la creación de la lista de productos JWT estuviera vacía para las solicitudes de tokens de OAuth y claves de API.
- 145640807 y 147579179: Se agregó una nueva función que permite que una instancia especial de Edge Microgateway llamada "el sincronizador" recupere datos de configuración de Apigee Edge y los escriba en una base de datos local de Redis. Luego, se pueden configurar otras instancias de microgateway para que lean sus datos de configuración de la base de datos. Esta función agrega un nivel de resiliencia a Edge Microgateway.
Permite que las instancias de microgateway se inicien y funcionen sin necesidad de comunicarse con Apigee Edge. Para obtener más información, consulta Cómo usar el sincronizador.
Actualmente, la función de sincronizador es compatible con Redis 5.0.x.
Versión 3.0.x
Mejoras y correcciones de errores de la versión 3.0.x
3.0.10
El viernes 8 de noviembre, lanzamos las siguientes correcciones y mejoras en Edge Microgateway.
Versiones de los componentes:
En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.0.10. Ten en cuenta que, como cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión del producto principal:
microgateway | core | config | complementos | edgeauth |
---|---|---|---|---|
3.0.10 | 3.0.8 | 3.0.8 | 3.0.11 | 3.0.8 |
Corrección de errores y mejoras:
-
142677575: Se realizó una actualización de la función para que la coincidencia de patrones para las rutas de recursos que se usan en los productos de API para Edge Microgateway ahora se alinee con la coincidencia de patrones de rutas de recursos que usa Apigee Edge, como se describe en Configuración del comportamiento de una ruta de recursos de "/", "/*" y "/**".
Nota: Si usas un patrón de recursos compuesto como
/*/2/**
, debes asegurarte de que el proxyedgemicro_auth
se agregue a un producto de API independiente. Luego, debes incluir ese producto en la app para desarrolladores del proxy, como se ilustra en la siguiente captura de pantalla:Nota: La propiedad de configuración
features.isSingleForwardSlashBlockingEnabled
, como se describe en Configura el comportamiento de una ruta de acceso de los recursos "/", "/*" y "/**", no se admite en Edge Microgateway. 143740696: Cambió la estructura de configuración de
quotas
(consulta también las notas de la versión 3.0.9). La propiedadquotas
se usa para configurar el complemento de cuota. El cambio en la estructura se realizó para mejorar la claridad de los elementos de configuración. Para configurar el complemento de cuotas, usa la siguiente configuración en YAML. Ten en cuenta que la propiedad de configuración se llamaquotas
. Para obtener detalles sobre las propiedades de configuración individuales dequotas
, consulta Opciones de configuración para la cuota.edgemicro: home: ../gateway port: 8000 max_connections: -1 max_connections_hard: -1 logging: level: info dir: /var/tmp stats_log_interval: 60 plugins: dir: ../plugins sequence: - oauth - quota quotas: bufferSize: hour: 20000 minute: 500 default: 10000 useDebugMpId: true failOpen: true ...
- 141750056: Se agregó una nueva función que te permite usar Redis como almacén de respaldo de la cuota.
Si
useRedis
es verdadero, se usa el módulo volos-quota-redis. Cuando es verdadero, la cuota se restringe solo a las instancias de Edge Microgateway que se conectan a Redis. Si es falso, se usa el módulo volos-quota-apigee como almacén de respaldo, y el contador de cuotas es global. Para obtener más información, consulta Opciones de configuración de la cuota. Por ejemplo:edgemicro: ... quotas: useRedis: true redisHost: localhost redisPort: 6379 redisDb: 1
- 140574210: El tiempo de vencimiento predeterminado para los tokens generados por el proxy de
edgemicro-auth
se cambió de 108,000 milisegundos (1.8 minutos) a 1,800 segundos (30 minutos). - 143551282: Para admitir organizaciones habilitadas para SAML, se actualizó el comando
edgemicro genkeys
para incluir un parámetro‑‑token
. Este parámetro te permite usar un token de OAuth para la autenticación en lugar de un nombre de usuario y una contraseña. Para obtener más detalles, consulta Cómo generar claves.
3.0.9
El viernes 11 de octubre, lanzamos las siguientes correcciones y mejoras en Edge Microgateway.
Versiones de los componentes:
En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.0.9. Ten en cuenta que, como cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión del producto principal:
microgateway | core | config | complementos | edgeauth |
---|---|---|---|---|
3.0.9 | 3.0.7 | 3.0.7 | 3.0.10 | 3.0.7 |
Corrección de errores y mejoras:
- 141989374: Se agregó una nueva función de "fail open" para el complemento de cuotas.
Cuando esta función está habilitada, si se produce un error de procesamiento de la cuota o si la solicitud de "aplicación de cuota" a Edge no actualiza los contadores de cuota remotos, la cuota se procesará solo en función de los recuentos locales hasta que se produzca la próxima sincronización correcta de la cuota remota. En ambos casos, se establece una marca
quota-failed-open
en el objeto de solicitud.Para habilitar la función de "fail open" de la cuota, establece la siguiente configuración:
quotas : failOpen : true
Nota: Además, se cambió el nombre de la marca del objeto de solicitud
fail-open
del complemento de OAuth aoauth-failed-open
. - 142093764: Se realizó un cambio de configuración en el proxy de
edgemicro-auth
para evitar excesos de cuota. El cambio consiste en establecer el tipo de cuota en calendario. Para usar esta mejora, debes actualizar tuedgemicro-auth
a la versión 3.0.7 o posterior. - 142520568: Se agregó una nueva función para habilitar el registro del ID del MP (procesador de mensajes) en las respuestas de cuota. Para usar esta función, debes actualizar tu proxy de
edgemicro-auth
a la versión 3.0.7 o posterior y establecer la siguiente configuración:quotas: useDebugMpId: true
Cuando se establece
useDebugMpId
, las respuestas de cuota de Edge contendrán el ID de MP y Edge Microgateway las registrará. Por ejemplo:{ "allowed": 20, "used": 3, "exceeded": 0, "available": 17, "expiryTime": 1570748640000, "timestamp": 1570748580323, "debugMpId": "6a12dd72-5c8a-4d39-b51d-2c64f953de6a" }
3.0.8
El jueves 26 de septiembre, lanzamos las siguientes correcciones y mejoras en Edge Microgateway.
Versiones de los componentes:
En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.0.8. Ten en cuenta que, como cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión del producto principal:
microgateway | core | config | complementos | edgeauth |
---|---|---|---|---|
3.0.8 | 3.0.6 | 3.0.6 | 3.0.9 | 3.0.6 |
Corrección de errores y mejoras:
- 140025210: Se agregó una nueva función de "fail open". Esta función permite que continúe el procesamiento de la API si no se puede actualizar un token JWT vencido debido a un error de conexión que impide una llamada de verificación de clave de API exitosa al proxy de
edgemicro-auth
.La función te permite establecer un período de gracia en el que el token anterior permanece en la caché y se vuelve a usar hasta que vence el período de gracia. La función permite que Edge Microgateway continúe procesando solicitudes en caso de una falla temporal en la conexión. Cuando se restablece la conectividad y se realiza una llamada exitosa a la API de Verify, se recupera un nuevo JWT que reemplaza al anterior en la caché.
Para configurar la nueva función "fail open", haz lo siguiente:
- Establece las siguientes propiedades en la sección
oauth
del archivo de configuración de Edge Microgateway:oauth: failOpen: true failopenGraceInterval: time_in_seconds cacheKey: true ...
Por ejemplo:
oauth: failOpen: true failopenGraceInterval: 5 cacheKey: true ...
En este ejemplo, el token anterior se usará durante 5 segundos si no se puede actualizar debido a un problema de conectividad. Después de 5 segundos, se mostrará un error de autenticación.
- Establece las siguientes propiedades en la sección
- 141168968: Se realizó una actualización para incluir
correlation_id
en todos los registros de salida del complemento. Además, los niveles de registro de algunos registros se cambiaron aerror
según sea necesario. - 140193349: Se realizó una actualización en el proxy de
edgemicro-auth
para requerir que se verifiquen la clave y el secreto de Edge Microgateway en cada solicitud de Verify API Key. Edge Microgateway se actualizó para enviar siempre la clave y el secreto en cada solicitud de verificación de la clave de API. Este cambio impide que los clientes obtengan un JWT solo con una clave de API. - 140090250: Se realizó una actualización para agregar registros de diagnóstico para el procesamiento de cuotas. Con este cambio, ahora es posible correlacionar el resultado del registro de cuotas con el resto de los registros de Edge Microgateway.
3.0.7
El jueves 12 de septiembre, lanzamos las siguientes correcciones y mejoras en Edge Microgateway.
Versiones de los componentes:
En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.0.7. Ten en cuenta que, como cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión del producto principal:
microgateway | core | config | complementos | edgeauth |
---|---|---|---|---|
3.0.7 | 3.0.5 | 3.0.5 | 3.0.8 | 3.0.5 |
Corrección de errores y mejoras:
140075602: Se actualizó el complemento de OAuth para que devuelva un código de estado 5xx cuando corresponda. Anteriormente, el complemento solo devolvía códigos de estado 4xx en todos los casos que no eran 200. Ahora, para cualquier respuesta de mensaje que no tenga un estado 200, se devolverá el código 4xx o 5xx exacto, según el error.
Esta función está inhabilitada de forma predeterminada. Para habilitar esta función, agrega la propiedad
oauth.useUpstreamResponse: true
a la configuración de Edge Microgateway. Por ejemplo:oauth: allowNoAuthorization: false allowInvalidAuthorization: false gracePeriod: 10 useUpstreamResponse: true
- 140090623: En la versión 3.0.6, se agregó una nueva propiedad de configuración,
quota.quotaUri
. Establece esta propiedad de configuración si deseas administrar las cuotas a través del proxyedgemicro-auth
implementado en tu organización. Si no se configura esta propiedad, el extremo de cuota se establece de forma predeterminada en el extremo interno de Edge Microgateway. Por ejemplo:edge_config: quotaUri: https://%s-%s.apigee.net/edgemicro-auth
En la versión 3.0.7, se actualizó
edgemicro-auth
para aceptar esta nueva configuración. Para usar la propiedadquotaUri
, debes actualizar al proxyedgemicro-auth
más reciente. Para obtener más información, consulta Cómo actualizar el proxy de edgemicro-auth. - 140470888: Se agregó un encabezado de autorización a las llamadas de cuota para proporcionar autenticación.
Además, se modificó el proxy de
edgemicro-auth
para quitar "organization" del identificador de cuota. Dado que el extremo de cuota reside en la organización del cliente, ya no se necesita el identificador de cuota. - 140823165: El siguiente nombre de propiedad:
edgemicro: keepAliveTimeout
se documentó de forma incorrecta en la versión 3.0.6. El nombre de propiedad correcto es el siguiente:
edgemicro: keep_alive_timeout
- 139526406: Se corrigió un error por el que se producía un recuento de cuota incorrecto si una app para desarrolladores tenía varios productos. Ahora se aplica la cuota correctamente para cada producto en una app que tiene varios productos. La combinación de "appName + productName" se usa como identificador de cuota.
3.0.6
El jueves 29 de agosto, lanzamos las siguientes correcciones y mejoras en Edge Microgateway.
- 138633700: Se agregó una nueva propiedad de configuración,
keepAliveTimeout
. Esta propiedad te permite establecer el tiempo de espera de Edge Microgateway (en milisegundos). (Valor predeterminado: 5,000 milisegundos)Por ejemplo:
edgemicro: keep_alive_timeout: 600
- 140090623: Se agregó una nueva propiedad de configuración,
quotaUri
. Configura esta propiedad si deseas administrar las cuotas a través del proxyedgemicro-auth
que se implementa en tu organización. Si no se configura esta propiedad, el extremo de cuota se establece de forma predeterminada en el extremo interno de Edge Microgateway. Por ejemplo:edge_config: quotaUri: https://your_org-your_env.apigee.net/edgemicro-auth
Para usar esta función, primero debes implementar la versión más reciente del proxy de
edgemicro-auth
en tu organización. Para obtener más información, consulta Cómo actualizar el proxy de edgemicro-auth. - 138722809: Se agregó una nueva propiedad de configuración,
stack_trace
. Esta propiedad te permite controlar si las pilas de llamadas aparecen en los archivos de registro. Por ejemplo:stack_trace: false
Si
stack_trace
se establece entrue
, el seguimiento de pila se imprimirá en los registros. Si se configura comofalse
, el registro de seguimiento de pila no se imprimirá en los registros.
3.0.5
El jueves 15 de agosto, lanzamos las siguientes correcciones y mejoras en Edge Microgateway.
Se corrigieron los siguientes errores:- 139005279: Se corrigió un problema por el que el comando
edgemicro status
no devolvía la cantidad correcta de procesos de trabajo. - 138437710: Se corrigió un problema en la clase ExitCounter que impedía que se escribiera el registro adecuado.
- 139064652: Se agregó la capacidad de agregar niveles de registro
trace
ydebug
para los registros de eventos y del sistema. Por el momento, solo se agregó la capacidad de agregar estos niveles de registro. Actualmente, los niveles de registro disponibles soninfo
,warn
yerror
. - 139064616: Se estandarizó el registro de salida para todas las instrucciones de registro de la consola. Las instrucciones de registro de la consola ahora incluyen estos atributos:
- Marca de tiempo
- Nombre del componente
- ID de proceso
- Mensaje de registro de la consola
- 138413755: Mejora los mensajes de registro relacionados con la clave y el secreto de JWT para los siguientes comandos de CLI: cert, verify, upgradekvm, token, genkeys, revokekeys, rotatekey y configure.
- 138413577: Se agregó y mejoró el manejo de errores para los tiempos de espera del servicio de backend.
- 138413303: Se agregó y mejoró el control de errores para los tiempos de espera de respuesta y de socket.
- 138414116: Se agregó y mejoró el control de errores para los errores de "conexión rechazada".
3.0.4
El jueves 1 de agosto, lanzamos las siguientes correcciones y mejoras en Edge Microgateway.
- 134445926: Se realizaron mejoras en la autenticación interna de Edge Microgateway.
- 137582169: Se solucionó un problema por el que se iniciaban procesos no deseados. Los procesos adicionales provocaron que se volvieran a cargar los complementos y usaron memoria excesiva. Edge Microgateway ahora mantiene la cantidad de procesos dentro del límite esperado.
- 137768774: Mejoras en los mensajes de registro:
- Se limpiaron los registros de transacciones (solicitudes).
- Se agregaron más mensajes de registro donde era necesario.
- Se trasladaron los mensajes de registro de transacciones (solicitudes) del resultado de la consola al archivo de registro correspondiente.
- Se actualizaron los registros de la consola para usar una función de registro centralizada.
- 138321133 y 138320563: Se realizó un cambio interno fundamental en el búfer de cuotas para habilitar futuras mejoras en las cuotas.
3.0.3
El martes 23 de julio, lanzamos las siguientes correcciones y mejoras en Edge Microgateway.
- Mejoras en el registro: Los registros de entorno de ejecución existentes usan una nueva función
eventLog()
que captura y registra los datos de entorno de ejecución en un formato coherente. La información de registro incluye lo siguiente:- Marca de tiempo (ISO 8601: AAAA-MM-DDTHH:mm:ss.sssZ)
- Nivel de registro (error, advertencia o información).
- Nombre de host: Es el nombre de host solicitante del encabezado de la solicitud.
- ID de proceso: Si ejecutas un clúster de procesos de Node.js, este es el ID del proceso en el que se produjo el registro.
- Nombre de la organización de Apigee.
- Nombre del entorno en la organización.
- Nombre del proxy de API.
- Dirección IP del cliente.
- Es el ID del cliente.
- ID de correlación (no está configurado actualmente).
- Nombre del componente de Edge Microgateway.
- Mensaje personalizado: Algunos objetos pueden imprimir información adicional que se pasa a esta propiedad de error.
- Método de solicitud (si es una solicitud HTTP).
- Código de estado de la respuesta (si es una solicitud HTTP).
- Mensaje de error
- Código de error: Si un objeto incluye un código de error, se imprime en esta propiedad.
- Tiempo empleado
- Sistema operativo marcador de fin de línea.
Los valores de propiedad nulos generan corchetes vacíos,
[]
.En el siguiente ejemplo, se muestra el formato del registro:
Timestamp [level][hostname][ProcessId][Org][Environment][APIProxy][ClientIp][ClientId][][component][customMessage][reqMethod][respStatusCode][errMessage][errCode][timeTaken]
(137770055)
- Rendimiento: Los productos de API no se filtraban según el entorno. Ya se solucionó este problema. (135038879)
- Se realizaron varias integraciones de pruebas funcionales y mejoras en la calidad del código.
3.0.2
El miércoles 3 de julio de 2019, lanzamos las siguientes correcciones y mejoras en Edge Microgateway.
Calidad del código: Se revisó la calidad del código y se realizaron cambios para cumplir con los estándares de calidad solicitados por los usuarios. Corregimos los errores y las advertencias de calidad del código derivados de JSHint.
Como resultado, se identificaron y corrigieron algunos errores de código reales. Todos los módulos de Apigee Edge Microgateway se sometieron a este proceso. Consulta las confirmaciones del 28 de junio y el 2 de julio para microgateway-config
, microgateway-core
, microgateway-plugins
y microgateway
.
Todos los módulos con cambios en la calidad del código se probaron con herramientas internas que verifican la ejecución de Edge Microgateway para los casos de uso de los clientes.
3.0.1
El viernes 21 de junio de 2019, lanzamos las siguientes correcciones y mejoras en Edge Microgateway.
- 134834551: Cambia las versiones compatibles de Node.js para Edge Microgateway
(versiones compatibles de Node.js: 8 y 12; las versiones 7, 9 y 11 son experimentales) - 134751883: Edge Microgateway falla cuando se vuelve a cargar bajo carga
- 134518428: El extremo de Products de Edge Microgateway devuelve un error 5XX si el patrón de filtro es incorrecto.
- 135113408: Los trabajadores deben reiniciarse si finalizan de forma inesperada
- 134945852: tokenCacheSize no se usa en el complemento de OAuth
- 134947757: Establece cacheTTL en el complemento de OAuth
- 135445171: El cálculo de gracePeriod en OAuth no es correcto
- Usa el módulo memored proporcionado con la instalación de Edge Microgateway
- 135367906, Auditoría de seguridad
Versión 2.5.x
Nuevas funciones y mejoras de la versión 2.5.x
(Se corrigió en la versión 2.5.38, 07/06/2019)
Los JWT con formato incorrecto pueden provocar que los trabajadores fallen cuando se usa la caché de tokens. Se corrigió en el módulo edge-microgateway-plugins. (b/134672029)
(Se agregó en la versión 2.5.37) Se agregó la opción de CLI edgemicro-cert -t
.
La opción edgemicro cert -t
te permite especificar un token de OAuth para autenticar las APIs de administración. Consulta también Administra certificados.
(Se agregó en la versión 2.5.35) Se agregó compatibilidad para depurar Edge Microgateway con edgemicroctl
.
Puedes usar la marca mgdebug
con edgemicroctl
. Consulta también Tareas de integración de Kubernetes.
(Se agregó en la versión 2.5.35) Habilita una compilación de Windows para edgemicroctl
.
(Se agregó en la versión 2.5.31) Nueva API de edgemicro-auth/token
Se agregó una nueva API de edgemicro-auth/token que te permite pasar el cliente o el secreto como un encabezado de autorización básica codificado en Base64 y el grant_type como un parámetro de formulario. Consulta Cómo obtener tokens de portador directamente.
(Se corrigió en la versión 2.5.31) La configuración privada no respeta la marca del token
Se corrigió un problema por el que la configuración de Edge Microgateway para usar un token de acceso de OAuth2 en Edge para Private Cloud no funcionaba correctamente (no se respetaba el token).
Docker: Compatibilidad con el uso de certificados autofirmados
(Se agregó en la versión 2.5.29) Si usas una autoridad certificadora (AC) que Node.js no considera de confianza de forma predeterminada, puedes usar el parámetro NODE_EXTRA_CA_CERTS
cuando ejecutas un contenedor de Docker con Edge Microgateway.
Para obtener más información, consulta Cómo usar una CA en la que Node.js no confía.
Docker: Compatibilidad con TLS
(Se agregó en la versión 2.5.29) Edge Microgateway que se ejecuta en un contenedor de Docker ahora admite TLS para las solicitudes entrantes al servidor de Edge Microgateway (solicitudes de salida) y para las solicitudes salientes de Edge Microgateway a una aplicación de destino (solicitudes de entrada).
En los siguientes ejemplos, se explica en detalle cómo configurar estos parámetros de TLS:
En estos ejemplos, verás cómo usar el punto de montaje del contenedor /opt/apigee/.edgemicro
para cargar los certificados, a los que luego se hace referencia en el archivo de configuración de Edge Microgateway.
Docker: Compatibilidad con el proxy de solicitudes
(Se agregó en la versión 2.5.27) Si ejecutas Edge Microgateway en un contenedor de Docker, puedes usar estas opciones para controlar el comportamiento del proxy cuando el microgateway se ejecuta detrás de un firewall:
HTTP_PROXY
HTTPS_PROXY
NO_PROXY
Para obtener más detalles, consulta Ejecuta Edge Microgateway como un contenedor de Docker.
Docker: Instrucciones actualizadas del complemento
(Se agregó en la versión 2.5.27) Si ejecutas Edge Microgateway en un contenedor de Docker, ahora tienes dos opciones para implementar complementos. Una opción, que usa un punto de montaje de Docker, es nueva. La otra opción ya existía y no se modificó básicamente, pero se actualizó el Dockerfile. Para obtener más información, consulta los siguientes vínculos:
- Opción A: Activa el directorio de complementos en un volumen (nuevo)
- Opción B: Compila los complementos en el contenedor (actualizada)
Nueva compatibilidad con tokens de OAuth para el comando de actualización de KVM
(Se agregó en la versión 2.5.27) Puedes usar un token de OAuth con el comando upgradekvm
. Para obtener más información, consulta Cómo actualizar el KVM.
Cómo segregar las APIs en Edge Analytics
(Se agregó en la versión 2.5.26) Los nuevos parámetros de complementos de Analytics te permiten separar una ruta de API específica para que aparezca como un proxy independiente en los paneles de Edge Analytics. Por ejemplo, puedes separar las APIs de verificación de estado para evitar confundirlas con las llamadas a la API reales. Para obtener más información, consulta Cómo excluir rutas de Analytics.
Cómo configurar un proxy local
(Se agregó en la versión 2.5.25) Con un proxy local, no es necesario que crees manualmente un proxy compatible con microgateway en Apigee Edge. En su lugar, el microgateway usará la ruta base del proxy local. Para obtener más información, consulta Cómo usar el modo de proxy local.
Cómo usar el modo independiente
(Se agregó en la versión 2.5.25) Puedes ejecutar Edge Microgateway completamente desconectado de cualquier dependencia de Apigee Edge. Esta situación, llamada modo independiente, te permite ejecutar y probar Edge Microgateway sin conexión a Internet. Consulta Cómo ejecutar Edge Microgateway en modo independiente.
Cómo revocar claves
(Se agregó en la versión 2.5.19) Se agregó un nuevo comando de la CLI que revoca las credenciales de clave y secreto para una configuración de Edge Microgateway.
edgemicro revokekeys -o [organization] -e [environment] -u [username] -k [key] -s [secret]
Compatibilidad con Docker
(Se agregó en la versión 2.5.19) Ahora puedes descargar la versión más reciente de Edge Microgateway como una imagen de Docker:
docker pull gcr.io/apigee-microgateway/edgemicro:latest
Compatibilidad con Kubernetes
(Se agregó el 2/5/2019) Puedes implementar Edge Microgateway como un servicio o como una puerta de enlace de sidecar delante de los servicios implementados en un clúster de Kubernetes. Consulta la Descripción general de la integración de Edge Microgateway con Kubernetes.
Compatibilidad con la opción TCP nodelay
(Se agregó en la versión 2.5.16) Se agregó un nuevo parámetro de configuración, nodelay
, a la configuración de Edge Micro.
De forma predeterminada, las conexiones TCP usan el algoritmo de Nagle para almacenar datos en búfer antes de enviarlos. Si se configura nodelay
como true
, se inhabilita este comportamiento (los datos se enviarán inmediatamente cada vez que se llame a socket.write()
). Para obtener más detalles, consulta también la documentación de Node.js.
Para habilitar nodelay
, edita el archivo de configuración de Edge Micro de la siguiente manera:
edgemicro: nodelay: true port: 8000 max_connections: 1000 config_change_poll_interval: 600 logging: level: error dir: /var/tmp stats_log_interval: 60 rotate_interval: 24
Nuevas opciones de CLI para el monitoreo continuo
(Se agregó en la versión 2.5.12) Se agregaron parámetros nuevos al comando edgemicro forever
. Estos parámetros te permiten especificar la ubicación del archivo forever.json
y, también, iniciar o detener el proceso en segundo plano de Forever. Consulta también Supervisión continua
Parámetro | Descripción |
---|---|
-f, --file | Especifica la ubicación del archivo forever.json . |
-a, --action | start o stop El valor predeterminado es start. |
Ejemplos:
Para iniciar Forever, sigue estos pasos:
edgemicro forever -f ~/mydir/forever.json -a start
Para detener Forever, haz lo siguiente:
edgemicro forever -a stop
Rotación de claves de JWT
Se agregó una nueva función que te permite rotar los pares de claves públicas y privadas que se usan para generar los tokens de JWT que se utilizan para la seguridad de OAuth en Edge Microgateway. Consulta Rotación de claves de JWT.
Cómo filtrar proxies de API descargados
De forma predeterminada, Edge Microgateway descarga todos los proxies de tu organización de Edge que comienzan con el prefijo de nomenclatura "edgemicro_". Puedes cambiar este valor predeterminado para descargar proxies cuyos nombres coincidan con un patrón. Consulta Cómo filtrar los proxies descargados.
Cómo especificar productos sin proxies de API
En Apigee Edge, puedes crear un producto de API que no contenga ningún proxy de API. Esta configuración del producto permite que una clave de API asociada a ese producto funcione con cualquier proxy implementado en tu organización. A partir de la versión 2.5.4, Edge Microgateway admite esta configuración del producto.
Compatibilidad con la supervisión permanente
Edge Microgateway tiene un archivo forever.json
que puedes configurar para controlar cuántas veces y con qué intervalos se debe reiniciar Edge Microgateway. Este archivo configura un servicio llamado forever-monitor, que administra Forever de forma programática. Consulta
Supervisión continua.
Administración central del archivo de configuración de Edge Micro
Si ejecutas varias instancias de Edge Microgateway, es posible que desees administrar sus configuraciones desde una sola ubicación. Para ello, especifica un extremo HTTP en el que Edge Micro pueda descargar su archivo de configuración. Consulta Cómo especificar un extremo de archivo de configuración.
Compatibilidad con la opción de CLI forever
(Se agregó en la versión 2.5.8) Usa el comando edgemicro forever [package.json]
para especificar la ubicación del archivo forever.json
. Antes de que se agregara este comando, el archivo de configuración debía estar en el directorio raíz de Edge Microgateway.
Por ejemplo:
edgemicro forever ~/mydir/forever.json
Se agregó la opción configUrl al comando de recarga
(Se agregó en la versión 2.5.8) Ahora puedes usar la opción --configUrl
o -u
con el comando edgemicro reload
.
Período de gracia para discrepancias de tiempo de JWT
(Se agregó en la versión 2.5.7) Un atributo gracePeriod en la configuración de OAuth ayuda a evitar errores causados por pequeñas discrepancias entre el reloj del sistema y los tiempos Not Before (nbf) o Issued At (iat) especificados en el token de autorización JWT. Establece este atributo en la cantidad de segundos que se permitirán para tales discrepancias. Consulta atributos de OAuth.
(Se agregó en la versión 2.5.7) Un atributo gracePeriod en la configuración de OAuth ayuda a evitar errores causados por pequeñas discrepancias entre el reloj del sistema y los tiempos Not Before (nbf) o Issued At (iat) especificados en el token de autorización JWT. Establece este atributo en la cantidad de segundos que se permitirán para tales discrepancias. Consulta atributos de OAuth.
Se corrigieron errores en la versión 2.5.x
- (Problema #236) Se corrigió un error tipográfico al borrar la caché.
- (Problema núm. 234) Se produce un bloqueo al volver a cargar Edge Microgateway 2.5.35.
- (Problema núm. 135) Se produce un error de referencia de host virtual no válida "secure" cuando se usa la opción -v. Esta corrección modifica el proxy de edgemicro-auth antes de la implementación para garantizar que los hosts virtuales coincidan exactamente con lo que se especifica en la marca "-v". Además, puedes especificar cualquier cantidad de hosts virtuales y cualquier nombre para ellos (ya no se restringen a los predeterminados y seguros).
- (Problema nº 141) El comando edgemicro reload no admite la opción de archivo de configuración -c. Ya corregimos el problema.
- (Problema 142) Edge Microgateway muestra un mensaje de error sobre la criptografía obsoleta durante la instalación. Ya corregimos el problema.
- (Problema núm. 145) La cuota no funciona con Edge Microgateway. Ya corregimos el problema.
- (Problema de la comunidad de Apigee: https://community.apigee.com/questions/33149/emg-jwt-token-validated-against-both-api-proxies-a.html#answer-33336) El token de JWT se valida en ambos proxies de API y en el URI de recursos en OAUTH. Ya se solucionó este problema.
- (Problema de la comunidad de Apigee: https://community.apigee.com/questions/47846/microgateway-not-working-with-oauth.html) Microgateway no funciona con OAuth. Ya corregimos el problema.
- Se corrigió pidPath en Windows.
- (Problema #157) Se corrigió el problema que causaba el siguiente mensaje de error:
ReferenceError: deployProxyWithPassword
no está definido. - (Problema #169) Actualiza las dependencias de Node.js (auditoría de npm)
- El proxy
edgemicro-auth
ahora usa las políticas de JWT de Edge. El proxy ya no depende de Node.js para proporcionar compatibilidad con JWT.
Versión 2.4.x
Nuevas funciones y mejoras de la versión 2.4.x
1. Establece un alias personalizado para el proxy de edgemicro-auth (PR 116)
Puedes cambiar la ruta de acceso base predeterminada para el proxy edgemicro-auth. De forma predeterminada, la ruta base es /edgemicro-auth. Para cambiarlo, usa la marca -x en el comando edgemicro configure.
Ejemplo:
edgemicro configure -x /mypath …
2. Compatibilidad con comodines para rutas de acceso base (PR 77)
Puedes usar uno o más comodines "*" en la ruta base de un proxy edgemicro_*. Por ejemplo, una ruta base de /team/*/members permite que los clientes llamen a https://[host]/team/blue/members y a https://[host]/team/green/members sin necesidad de crear proxies de API nuevos para admitir equipos nuevos. Ten en cuenta que no se admite /**/.
Importante: Apigee NO admite el uso de un comodín “*” como el primer elemento de una ruta base. Por ejemplo, NO se admite: /*/search.3. Se agregó una ruta de acceso de configuración personalizada a la CLI para la configuración de Private Cloud (PR 99)
De forma predeterminada, el archivo de configuración de microgateway se encuentra en ./config/config.yaml. En los comandos init, configure y start, ahora puedes especificar una ruta de configuración personalizada en la línea de comandos con las marcas -c o --configDir. Se corrigió un problema por el que no se reconocía un directorio de configuración personalizado para las instalaciones de Private Cloud.
Ejemplo:
edgemicro start -o docs -e test -k abc123 -s xyz456 -c /home/microgateway/config
4. Se respetan las variables *_PROXY (PR 61)
Si Edge Microgateway está instalado detrás de un firewall y no puede comunicarse con Apigee Edge en la nube pública, hay dos opciones que debes tener en cuenta:
Opción 1:
La primera opción es establecer la opción edgemicro: proxy_tunnel como verdadera en el 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 HTTP CONNECT para tunelizar solicitudes HTTP a través de una sola conexión TCP. (Lo mismo sucede si las variables de entorno para configurar el proxy tienen habilitado TLS).
Opción 2:
La segunda opción es especificar un proxy y establecer proxy_tunnel en false en el archivo de configuración de microgateway. Por ejemplo:
edge_config: proxy: http://10.224.16.85:3128 proxy_tunnel: false
En este caso, puedes establecer las siguientes variables para controlar los hosts de cada proxy HTTP que desees usar o qué hosts no deben controlar los proxies de Edge Microgateway: HTTP_PROXY, HTTPS_PROXY y NO_PROXY. Puedes establecer NO_PROXY como una lista de dominios delimitada por comas a los que Edge Microgateway no debe enviar solicitudes a través del proxy. Por ejemplo:
export HTTP_PROXY='http://localhost:3786' export HTTPS_PROXY='https://localhost:3786'
Para obtener más información sobre estas variables, consulta los siguientes recursos:
https://www.npmjs.com/package/request#controlling-proxy-behaviour-using-environment-variables
5. Se estableció un tiempo de espera personalizado para las solicitudes de destino (PR 57)
Puedes establecer un tiempo de espera personalizado para las solicitudes de destino con esta configuración:
edgemicro: request_timeout: 10
El tiempo de espera se establece en segundos. Si se produce un tiempo de espera, Edge Microgateway responde con un código de estado 504.
6. Respeta los mensajes de estado HTTP personalizados en la respuesta de destino (PR 53)
Edge Microgateway respeta los mensajes de estado HTTP personalizados establecidos en la respuesta de destino. En versiones anteriores, los mensajes de estado enviados desde el destino se anulaban con los valores predeterminados de Node.js.
7. El encabezado X-Forwarded-For puede establecer el parámetro client_ip para las estadísticas.
Si está presente, el encabezado X-Forwarded-For establecerá la variable client_ip que se registra en Edge Analytics. Esta función te permite conocer la IP del cliente que envió una solicitud a Edge Microgateway.
8. Cambios en el complemento de OAuth
El complemento de OAuth admite la verificación de claves de API y la verificación de tokens de acceso de OAuth. Antes de este cambio, el complemento aceptaba cualquiera de las dos formas de seguridad. Con este cambio, puedes permitir solo uno de esos modelos de seguridad (y mantener la compatibilidad con versiones anteriores).
Los complementos de OAuth agregan dos marcas nuevas:
-
allowOAuthOnly: Si se establece en true, cada API debe incluir un encabezado de autorización con un token de acceso de portador.
-
allowAPIKeyOnly: Si se establece en true, cada API debe incluir un encabezado x-api-key (o una ubicación personalizada) con una clave de API.
Puedes establecer estos parámetros en el archivo de configuración de Edge Microgateway de la siguiente manera:
oauth: allowNoAuthorization: false allowInvalidAuthorization: false keep-authorization-header: false allowOAuthOnly: false allowAPIKeyOnly: false
9. Se mejoró el proxy de edgemicro-auth (PR 40).
Se realizaron mejoras en el proxy edgemicro-auth. Antes de estos cambios, el proxy almacenaba las claves en Edge Secure Store, una bóveda encriptada. Ahora, el proxy almacena claves en el mapa de clave-valor (KVM) encriptado de Edge.
10. Se reescribe la URL de destino predeterminada en un complemento (PR 74)
También puedes anular el puerto del extremo de destino y elegir entre HTTP y HTTPS. Modifica estas variables en el código de tu complemento: req.targetPort y req.targetSecure. Para elegir HTTPS, configura req.targetSecure como verdadero; para HTTP, configúralo como falso. Si configuras req.targetSecure como verdadero, consulta este hilo de discusión para obtener más información.
11. Compatibilidad inicial con la autenticación de tokens de OAuth (PR 125)
Puedes configurar Edge Microgateway para que use un token de OAuth para la autenticación en lugar de un nombre de usuario y una contraseña. Para usar un token de OAuth, usa el siguiente parámetro en el comando edgemicro configure:
-t, --token <token>
Por ejemplo:
edgemicro configure -o docs -e test -t <your token>
Se corrigieron errores en la versión 2.4.3
- Se corrigió un problema por el que se requería una organización pagada para ejecutar correctamente el proxy de edgemicro-auth. Ahora puedes usar Edge Microgateway con organizaciones de prueba. (PR 5)
- Se corrigió un problema en el que la transmisión no terminaba de procesar los datos, pero los controladores de finalización se ejecutaban de todos modos. Esto provocó que se enviara una respuesta parcial. (PR 71)
- Se corrigió un problema por el que no se reconocía un directorio de configuración personalizado para las instalaciones de nube privada. (PR 110)
- Se solucionó un problema con el SSL bidireccional entre el cliente y Edge Microgateway. (PR 70)
- Se corrigió un problema por el que se requería una barra final en la ruta base del proxy para que la verificación de la clave de API funcionara correctamente. Ahora, no se necesita una barra final al final de la ruta base. (PR 48)
Versión 2.3.5
Nuevas funciones y mejoras de la versión 2.3.5
Filtrado de proxy
Puedes filtrar los proxies compatibles con microgateway que procesará una instancia de Edge Microgateway.
Cuando se inicia Edge Microgateway, se descargan todos los proxies compatibles con microgateway de la organización con la que está asociado. Usa la siguiente configuración para limitar los proxies que procesará el microgateway. Por ejemplo, esta configuración limita a tres los proxies que procesará la microgateway: edgemicro_proxy-1
, edgemicro_proxy-2
y edgemicro_proxy-3
:
proxies: - edgemicro_proxy-1 - edgemicro_proxy-2 - edgemicro_proxy-3
Enmascaramiento de datos de Analytics
Una nueva configuración te permite evitar que la información de la ruta de la solicitud aparezca en las estadísticas de Edge. Agrega lo siguiente a la configuración de microgateway para enmascarar el URI de la solicitud o la ruta de acceso de la solicitud. Ten en cuenta que el URI consta del nombre de host y las partes de la ruta de acceso de la solicitud.
analytics: mask_request_uri: 'string_to_mask' mask_request_path: 'string_to_mask'
Versión 2.3.3
Nuevas funciones y mejoras de la versión 2.3.3
A continuación, se indican las nuevas funciones y mejoras de esta versión.
Inhabilita la sondeo automático de cambios
Puedes desactivar la sondeo de cambios automático configurando este atributo en la configuración del microgateway:
disabled_config_poll_interval: true
De forma predeterminada, la sondeo periódico detecta cualquier cambio realizado en Edge (cambios en productos, proxies compatibles con microgateways, etc.), así como los cambios realizados en el archivo de configuración local. El intervalo de sondeo predeterminado es de 600 segundos (cinco minutos).
Cómo reescribir URLs de destino en complementos
Puedes anular la URL de destino predeterminada de forma dinámica en un complemento modificando estas variables en el código del complemento: req.targetHostname y req.targetPath.
Nueva firma de función del complemento
Se agregó una nueva firma de función de complemento que proporciona la respuesta de destino como un argumento. Esta incorporación facilita el acceso de los complementos a la respuesta objetivo.
function(sourceRequest, sourceResponse, targetResponse, data, cb)
Salida de registro predeterminada simplificada
De forma predeterminada, el servicio de registro ahora omite el JSON de los proxies, los productos y el JWT descargados.
Puedes cambiar la configuración predeterminada para que se generen estos objetos estableciendo DEBUG=*
cuando inicies Edge Microgateway. Por ejemplo:
DEBUG=* edgemicro start -o docs -e test -k abc123 -s xyz456
Se agregó una ruta de acceso de configuración personalizada a la CLI
De forma predeterminada, el archivo de configuración de microgateway se encuentra en ./config/config.yaml. En los comandos init, configure y start, ahora puedes especificar una ruta de configuración personalizada en la línea de comandos. Por ejemplo:
edgemicro start -o docs -e test -k abc123 -s xyz456 -c /home/microgateway/config
Se corrigieron errores en la versión 2.3.3
- Se corrigió una fuga de memoria que ocurría durante solicitudes y respuestas grandes.
- Se corrigió el orden de ejecución del complemento. Ahora se comporta de la manera en que se explica en la documentación.
- El complemento accumulate-request ya no se bloquea para las solicitudes GET.
- Se corrigió un problema en el complemento accumulate-response en el que la falta de un cuerpo de respuesta causaba errores.
Versión 2.3.1
Nota de instalación
Algunas versiones anteriores de Edge Microgateway te permiten instalar el software descargando un archivo ZIP. Ya no se admiten estos archivos ZIP. Para instalar Edge Microgateway, debes usar lo siguiente:
npm install -g edgemicro
Consulta el tema de instalación para obtener más detalles.
Nuevas funciones y mejoras de la versión 2.3.1
A continuación, se indican las nuevas funciones y mejoras de esta versión.
Filtra proxies
Una nueva configuración te permite filtrar qué proxies cargará Edge Microgateway al inicio. Anteriormente, el microgateway cargaba todos los proxies compatibles con microgateway (proxies con el nombre edgemicro_*) extraídos de la organización o el entorno de Edge que especificaste en el comando de configuración de edgemicro. Esta nueva función te permite filtrar la lista de proxies para que Edge Microgateway solo cargue los que especifiques. Simplemente agrega el elemento proxies al archivo de configuración de microgateway de la siguiente manera:
edge micro: proxies: - edgemicro_[name] - edgemicro_[name] ...
Por ejemplo, supongamos que tienes 50 proxies de edgemicro_*
en tu organización o entorno de Edge, incluidos los llamados edgemicro_foo
y edgemicro_bar
. Puedes indicarle al microgateway que use solo estos dos proxies de la siguiente manera:
edge micro: proxies: - edgemicro_foo - edgemicro_bar
Al inicio, el microgateway solo podrá llamar a los proxies especificados. Cualquier intento de llamar a otros proxies compatibles con microgateways descargados de la organización o el entorno de Edge generará un error.
Cómo establecer encabezados de solicitud de destino en complementos
Existen dos patrones básicos que debes tener en cuenta si deseas agregar o modificar encabezados de solicitudes de destino: uno en el que la solicitud entrante contiene datos (como en una solicitud POST) y otro en el que no los contiene (como en una solicitud GET simple).
Consideremos un caso en el que la solicitud entrante contiene datos y deseas establecer encabezados de solicitud en la solicitud de destino. En versiones anteriores de Edge Microgateway, no era posible establecer encabezados de destino de forma confiable en este caso.
La clave de este patrón es, primero, acumular todos los datos entrantes del cliente. Luego, en la función onend_request()
, usa la nueva función request.setOverrideHeader(name,
value)
para personalizar los encabezados.
A continuación, se muestra un ejemplo de código de complemento que ilustra cómo hacerlo. Los encabezados establecidos en onend_request
se envían al destino:
module.exports.init = function(config, logger, stats) { function accumulate(req, data) { if (!req._chunks) req._chunks = []; req._chunks.push(data); } return { ondata_request: function(req, res, data, next) { if (data && data.length > 0) accumulate(req, data); next(null, null); }, onend_request: function(req, res, data, next) { if (data && data.length > 0) accumulate(req, data); var content = Buffer.concat(req._chunks); delete req._chunks; req.setOverrideHeader('foo', 'bar'); req.setOverrideHeader('content-length', content.length); next(null, content); }, onerror_request: function(req, res, data, next) { next(null, null); } }; }
Si la solicitud no incluye datos, puedes establecer encabezados de destino en el controlador onrequest()
. Este patrón no es nuevo: ya se documentó anteriormente y se usó en los complementos de muestra que se proporcionan con Edge Microgateway.
onrequest: function(req, res, next) { debug('plugin onrequest'); req.headers['x-foo-request-id'] = "bar"; req.headers['x-foo-request-start'] = Date.now(); next(); }
Función de recarga sin tiempo de inactividad
Después de realizar un cambio de configuración en Edge Microgateway, puedes cargar la configuración sin descartar ningún mensaje. Con este cambio, Edge Microgateway siempre se inicia en modo de clúster, y se quitó la opción --cluster
del comando edgemicro start
.
Además, se agregaron tres comandos nuevos a la CLI. Debes ejecutar estos comandos desde el mismo directorio en el que se ejecutó el comando edgemicro start:
edgemicro status
: Verifica si Edge Microgateway se está ejecutando o no.edgemicro stop
: Detiene el clúster de Edge Microgateway.edgemicro reload
: Vuelve a cargar la configuración de Edge Microgateway sin tiempo de inactividad.
Recarga automática de la configuración sin tiempo de inactividad
Edge Microgateway carga una nueva configuración de forma periódica y ejecuta una recarga si se produjo algún cambio. El sondeo detecta cualquier cambio realizado en Edge (cambios en productos, proxies compatibles con microgateways, etcétera), así como los cambios realizados en el archivo de configuración local. El intervalo de sondeo predeterminado es de 600 segundos (cinco minutos). Puedes cambiar el valor predeterminado en el archivo de configuración de microgateway de la siguiente manera:
edgemicro: config_change_poll_interval: [seconds]
Se agregó información de la versión a la CLI
Se agregó una marca --version
a la CLI. Para obtener la versión actual de Edge Microgateway, usa el siguiente comando:
edgemicro --version
Nuevas opciones de SSL del servidor de Edge Microgateway
Edge Microgateway ahora admite las siguientes opciones de SSL del servidor, además de key
y cert
:
Opción | Descripción |
---|---|
pfx |
Ruta de acceso a un archivo pfx que contiene la clave privada, el certificado y los certificados de CA del cliente en formato PFX. |
passphrase |
Es una cadena que contiene la frase de contraseña de la clave privada o el archivo PFX. |
ca |
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 usarán, separados por un ":". |
rejectUnauthorized |
Si es verdadero, el certificado del servidor se verifica con la lista de AC proporcionadas. Si falla la verificación, se muestra un error. |
secureProtocol |
Es el método SSL que se usará. Por ejemplo, SSLv3_method para forzar SSL a la versión 3. |
servername |
Es el nombre del servidor para la extensión TLS de SNI (indicación de nombre del servidor). |
Envía archivos de registro a stdout
Puedes enviar datos de registro a la salida estándar con un nuevo parámetro de configuración:
edgemicro: logging: to_console: true
Consulta Cómo administrar archivos de registro.
Versión 2.1.2
A continuación, se indican las nuevas funciones y mejoras de esta versión.
Permite un extremo de API personalizado para la configuración
Hay nuevos extremos configurables para el proxy de autorización que admiten el uso de un servicio de autorización personalizado. Estos extremos son los siguientes:
edgeconfig:verify_api_key_url
edgeconfig:products
Para obtener más información, consulta Cómo usar un servicio de autenticación personalizado.
Versión 2.1.1
A continuación, se indican las nuevas funciones y mejoras de esta versión.
Implementa un proxy de autenticación compatible con varias plataformas
Se realizó una mejora para que el comando que se usa para implementar el proxy de autorización de Edge Microgateway en Edge sea compatible con los sistemas Windows.
Versión 2.1.0
Nuevas funciones y mejoras en la versión 21.0
A continuación, se indican las nuevas funciones y mejoras:
Cómo especificar opciones de SSL/TLS del cliente
Puedes especificar opciones de cliente para las conexiones SSL/TLS a destinos con un nuevo conjunto de opciones de configuración. Consulta Cómo usar las opciones de SSL/TLS del cliente.
Versión 2.0.11
Nota de instalación v2.0.11
Algunas versiones anteriores de Edge Microgateway te permiten instalar el software descargando un archivo ZIP. Ya no se admiten estos archivos ZIP. Para instalar Edge Microgateway, debes usar lo siguiente:
npm install -g edgemicro
Consulta el tema de instalación para obtener más detalles.
Nuevas funciones y mejoras de la versión 2.0.11
A continuación, se indican las nuevas funciones y mejoras:
Cómo especificar un puerto al inicio
El comando de inicio te permite especificar un número de puerto para anular el puerto especificado en el archivo de configuración. También puedes especificar un número de puerto con la variable de entorno PORT. Consulta el comando start para obtener más detalles.
Conservar los encabezados de autorización de forma opcional
Un nuevo parámetro de configuración, keepAuthHeader, te permite conservar el encabezado de autorización que se envía en la solicitud. Si se configura como verdadero, el encabezado de autorización se pasa al objetivo. Consulta atributos de OAuth.
Capacidad de usar un servicio de autorización personalizado
Si deseas usar tu propio servicio personalizado para controlar la autenticación, cambia el valor de authUri en el archivo de configuración de Edge Microgateway para que apunte a tu servicio. Para obtener más detalles, consulta Cómo usar un servicio de autenticación personalizado.
Versión 2.0.4
Edge Microgateway v.2.0.4 se lanzó el 25 de mayo de 2016.
Nuevas funciones y mejoras de la versión 2.0.4
A continuación, se indican las nuevas funciones y mejoras de esta versión.
Compatibilidad con rutas de recursos en productos
Edge Microgateway ahora admite rutas de recursos en los productos. Las rutas de recursos te permiten restringir el acceso a las APIs según el sufijo de la ruta del proxy. Para obtener detalles sobre cómo crear productos y configurar rutas de recursos, consulta Crea productos de API.
Compatibilidad con la instalación global de npm
Ahora puedes instalar Edge Microgateway con la opción npm -g (global). Para obtener detalles sobre esta opción, consulta la documentación de npm.
Versión 2.0.0
Edge Microgateway v2.0.0 se lanzó el 18 de abril de 2016.
Nuevas funciones y mejoras de la versión 2.0.0
A continuación, se indican las nuevas funciones y mejoras de esta versión.
Servidor de procesamiento único
Edge Microgateway ahora es un solo servidor de procesos. Ya no usa un modelo de dos procesos en el que un proceso (antes conocido como "agente") inicia Edge Microgateway, el segundo proceso. La nueva arquitectura facilita la automatización y la creación de contenedores.
Archivos de configuración con espacio de nombres
Los archivos de configuración ahora tienen espacios de nombres que usan la organización y el entorno, de modo que varias instancias de Microgateway pueden ejecutarse en el mismo host. Puedes encontrar los archivos de configuración en ~/.edgemicro después de ejecutar el comando de configuración de Edge Microgateway.
Nuevas variables de entorno
Ahora hay 4 variables de entorno: EDGEMICRO_ORG, EDGEMICRO_ENV, EDGEMICRO_KEY y EDGEMICRO_SECRET. Si configuras estas variables en tu sistema, no tendrás que especificar sus valores cuando uses la interfaz de línea de comandos (CLI) para configurar y, luego, iniciar Edge Microgateway.
Configuración almacenada en caché
Edge Microgateway usa un archivo de configuración almacenado en caché si se reinicia sin conexión a Apigee Edge.
Modo de clúster
Ahora hay opciones para iniciar Edge Microgateway en modo de clúster. El modo de clúster te permite aprovechar los sistemas de varios núcleos. El microgateway emplea el módulo de clúster de Node.js para esta función. Para obtener más información, consulta la documentación de Node.js.
Se corrigieron errores en la versión 2.0.0
Ahora, el ciclo de vida de los eventos del complemento controla correctamente el código asíncrono que contiene código con una nueva devolución de llamada.
Versión 1.1.2
Edge Microgateway v. 1.1.2 se lanzó el 14 de marzo de 2016.
Nuevas funciones y mejoras de la versión 1.1.2
A continuación, se indican las nuevas funciones y mejoras de esta versión.
Mejora del rendimiento
Edge Microgateway ahora usa correctamente el agente HTTP de Node.js para mejorar la agrupación de conexiones. Esta mejora incrementa el rendimiento y la estabilidad general con cargas elevadas.
Compatibilidad con el depurador remoto
Puedes configurar Edge Microgateway para que se ejecute con un depurador remoto, como node-inspector.
Nueva ubicación del archivo de configuración
Cuando configuras Edge Microgateway, el archivo agent/config/default.yaml
ahora se copia en ~./edgemicro/config.yaml
.
Rotación de archivos de registro
Un nuevo atributo de configuración te permite especificar un intervalo de rotación para los registros de Edge Microgateway.
Se corrigieron errores en la versión 1.1.2
En la versión 1.1.2, se corrigieron los siguientes errores.
Descripción |
---|
La devolución de llamada de Java para el proxy interno de edgemicro que se usa con Edge local ahora usa el servidor de MGMT correcto. |
Quita las dependencias de TypeScript del agente. |
Se corrigió un error de la CLI que se producía cuando se usaba la opción de implementación reducida. |
Se corrigió la referencia de dependencia de la lógica del certificado. |