Notas de la versión de Edge Microgateway

Estás viendo la documentación de Apigee Edge.
Ve a la documentación de Apigee X.
info

Versión 3.3.x

Corrección de errores y mejoras v.3.3.x

3.3.5

El viernes 20 de diciembre de 2024, lanzamos las siguientes correcciones y mejoras en la micropuerta de enlace de Edge.

Versiones de componentes:

En la siguiente tabla, se muestran 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, es posible que los números de versión no coincidan con la versión principal del producto:

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 estás en Node.js v18, Edge Microgateway imprime el siguiente mensaje de error durante el 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 solucionaron 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

Corrección de errores y mejoras v.3.3.x

3.3.4

El 18 de septiembre de 2024, lanzamos las siguientes correcciones y mejoras en la Microgateway de Edge.

Versiones de componentes:

En la siguiente tabla, se muestran 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 principal del producto:

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 la Microgateway de Edge no registraba las direcciones IP del cliente.

Se solucionaron 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 la Microgateway de Edge.

Versiones de componentes:

En la siguiente tabla, se muestran 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 principal del producto:

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 de cliente Eureka de la micropuerta de enlace de Edge. La eliminación de esta función no afecta la funcionalidad principal de la Microgateway de Edge ni la reescritura de las URLs de destino. Para obtener más información, consulta Reescritura de URLs de destino en complementos.

283947053 Quitada

Se quitó la compatibilidad con forever-monitor de Edge Microgateway. Puedes reemplazar forever-monitor por PM2. Para obtener más información, consulta esta publicación de la comunidad de Apigee: Edgemicro + PM2: Cómo iniciar edgemicro como servicio.

Se solucionaron 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 la Microgateway de Edge.

Versiones de componentes:

En la siguiente tabla, se muestran 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 principal del producto:

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 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. Ejecutar comandos de la CLI en versiones no compatibles generará un error. Consulta también Software y versiones compatibles con Apigee.

283947053 Error

Se solucionó un problema en el que la Microgateway de Edge mostraba el primer producto de API en la lista de productos de API asociados con una app. Ahora determinamos el producto de API correcto que se mostrará según la solicitud.

274443329 Error

Se corrigió un problema por el que Docker extraía una versión de imagen desactualizada. La versión del nodo de Docker se actualizó a la versión 18 de Node.js. Ahora compilamos la imagen de Docker con la versión 18.17-buster-slim.

Se solucionaron problemas de seguridad

Ninguno

3.3.1

El 7 de junio de 2022, lanzamos las siguientes correcciones y mejoras en la Microgateway de Edge.

Versiones de componentes:

En la siguiente tabla, se muestran 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 principal del producto:

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 private configure arrojaba un error cuando se intentaba configurar para una nube privada.

233315475 Error

Se corrigió un problema por el que el complemento json2xml arrojaba un error de análisis mientras transformaba la respuesta de JSON a XML y cuando se usaba en combinación con el complemento accumulate-response.

221432797 Cambiar

La versión de Docker Node.js de la imagen base de la micropuerta de enlace de Edge se actualizó 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 SAML en lugar de credenciales de nombre de usuario y contraseña con la opción -t del comando revokekeys.

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 empaquetados con Edge Microgateway.

Se solucionaron problemas de seguridad

ID del problema Descripción
CVE-2021-23413 Esto afecta al paquete jszip anterior a la versión 3.7.0. Si creas un nuevo archivo ZIP con nombres de archivo configurados en valores de prototipo de objetos (p. ej., proto, toString, etc.), se muestra un objeto con una instancia de prototipo modificada.

3.3.0

El 4 de febrero de 2022, lanzamos las siguientes correcciones y mejoras en la Microgateway de Edge.

Versiones de componentes:

En la siguiente tabla, se muestran 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 principal del producto:

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 La puerta de enlace de Microgateway de Edge 3.3.0 no es compatible con el comando npm audit fix.

Ejecutar npm audit fix hace que apigeetool se actualice a la versión 0.15.2, lo que afecta el comando edgemicro upgradeauth.

Si ejecutas npm audit fix y, luego, edgemicro upgradeauth, verás este error:

Error: This method has been removed in JSZip 3.0, please check the upgrade guide.

Para corregir el problema, ejecuta el siguiente comando para restablecer la versión correcta de apigeetool:

npm install apigeetool@0.15.1

Este problema se abordará en una versión futura de la Microgateway de Edge.

138622990 Función

Una nueva marca para el complemento Quota, isHTTPStatusTooManyRequestEnabled, configura el complemento para que devuelva un estado de respuesta HTTP 429 en lugar del estado 403 si hay un incumplimiento de cuota. Consulta Opciones de configuración de la cuota.

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 la Microgateway de Edge.

198986036 Mejora La micropuerta de enlace de Edge 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 la Microgateway de Edge 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 nombres de los archivos de registro. Consulta Convenciones de nombres de archivos de registro.

157908466 Error

Se modificó 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 una conexión a Internet.

215748427 Error Se solucionó un problema por el que el comando revokekeys mostraba un error cuando se revocaba una clave con un par de claves y secretos existentes.
205524197 Error Se actualizó la documentación para incluir la lista completa de niveles de registro. Consulta los atributos de edgemicro y Cómo configurar el nivel de registro.

Versión 3.2.x

Corrección de errores y mejoras v.3.2.x

3.2.3

El 17 de septiembre de 2021, lanzamos las siguientes correcciones y mejoras en la Microgateway de Edge.

Versiones de componentes:

En la siguiente tabla, se muestran 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 principal del producto:

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 disableStrictLogFile te permite relajar los permisos de archivo estrictos en el archivo de registro de la aplicación api-log.log. Para obtener más detalles, consulta Cómo relajar los permisos de los archivos de registro.

192799989 Función

El atributo de configuración on_target_response_abort te permite controlar cómo se comporta Edge Microgateway si la conexión entre el cliente (Edge Microgateway) y el servidor de destino se cierra antes de tiempo. Para obtener más información, consulta los atributos de edgemicro.

148062415 Error Se corrigió un problema por el que, en un contexto de contenedor de Docker, la Microgateway de Edge no se cerraba de forma correcta con el comando docker stop {containerId}. Se finalizó el proceso, pero no se quitaron los archivos .sock y .pid. Ahora, los archivos se quitaron y reiniciar el mismo contenedor funciona como se esperaba.
190715670 Error Se corrigió un problema por el que algunas solicitudes se bloqueaban durante la actividad de recarga interna de la micropuerta de enlace. Este problema era intermitente y se producía en situaciones de mucho tráfico. El problema se observó cuando se usaron las funciones tokenCache y cacheKey del complemento 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 /country/all y /country/all/ se interpretan como la misma ruta.

Se solucionaron problemas de seguridad

ID del problema Descripción
CVE-2020-28503 Las propiedades de copia del paquete anteriores a la versión 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 package 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. ReDoS presenta una complejidad temporal de peor caso polinómica.

3.2.2

El jueves 15 de julio de 2021, lanzamos las siguientes correcciones y mejoras en la micropuerta de enlace de Edge.

Versiones de componentes:

En la siguiente tabla, se muestran 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 principal del producto:

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 expires_in cambió de cadena a número entero

Las APIs de solicitud de token y solicitud de actualización de token ahora muestran expires_in como un valor entero especificado en segundos.

Para cumplir con la RFC 6749, el marco de trabajo de autorización de OAuth 2.0, el valor esperado para el parámetro de configuración expires_in cambió de cadena a número entero. Para obtener más información, consulta la Referencia de operación y 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 Cómo configurar el resultado del registro para el contenedor de Docker

El parámetro de configuración de la Microgateway de Edge to_console te permite elegir enviar 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 estándar y de errores a un archivo ubicado en el contenedor en la ubicación: ${APIGEE_ROOT}/logs/edgemicro.log.

Para evitar que la información de registro se envíe a edgemicro.log, usa la nueva variable LOG_CONSOLE_OUTPUT_TO_FILE cuando ejecutes el contenedor.

Para obtener detalles sobre cómo usar esta nueva variable, consulta Cómo usar Docker para Edge Microgateway.

183057665 Función Se pueden configurar las rutas de acceso de los archivos edgemicro.pid y edgemicro.sock.

Un nuevo parámetro -w, --workdir para ejecutar un contenedor de Docker con la Microgateway de Edge te permite especificar la ruta de acceso al directorio en el que se deben crear los archivos edgemicro.sock y edgemicro.pid en un contenedor de Docker. Consulta Cómo usar Docker para Edge Microgateway.

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 solucionaron problemas de seguridad

ID del problema Descripción
CVE-2021-28860 En mixme de Node.js, antes de la versión 0.5.1, un atacante puede agregar o alterar las propiedades de un objeto a través de "__proto__" mediante las funciones mutate() y merge(). El atributo contaminado se asignará directamente a todos los objetos del programa. Esto pondrá en riesgo la disponibilidad del programa y podría provocar una posible denegación del 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 por error como válidas. NOTA: No hay un ataque práctico conocido.
CVE-2021-23358 El paquete underscore de 1.13.0-0 y anteriores a 1.13.0-2, de 1.3.2 y anteriores a 1.12.1 son vulnerables a la inyección de código arbitraria a través de la función de plantilla, en particular, cuando se pasa una propiedad de variable como argumento, ya que no se limpia.
CVE-2021-29469 Node-redis es un cliente de Redis de Node.js. Antes de la versión 3.1.1, cuando un cliente está en el modo de supervisión, la regex que se usa para detectar mensajes de supervisión podría causar un retroceso exponencial en algunas cadenas. Este problema podría provocar una denegación del servicio. El problema se corrigió en la versión 3.1.1.
CVE-2020-8174 La imagen de Docker se actualizó 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 la Microgateway de Edge.

Versiones de componentes:

En la siguiente tabla, se muestran 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 principal del producto:

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 solucionó un problema en el que las claves JWK con un valor nulo causaban que las aplicaciones fallaran.

Ahora se controla la condición nula para evitar pasar un valor nulo en jwkPublicKeys.

Nota: Esta solución requiere que actualices el proxy edgemicro-auth.

179971737 Error Se solucionó un problema por el que las respuestas de estado 4XX o 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 de errores de destino incorrectos en el panel de estadísticas de códigos de error de Apigee Edge. Los códigos de error de los errores de destino se contaban como errores de proxy. Se corrigió este problema 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 ubicados 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 allowProductStatus a la política Set JWT Variables en el proxy edgemicro-auth. Para usar esta propiedad para filtrar los productos de la API que se enumeran en el JWT, haz lo siguiente:

  1. Abre el proxy edgemicro-auth en el editor de proxy de Apigee.
  2. Agrega la propiedad allowProductStatus al XML de la política SetJWTVariables y especifica una lista de códigos de estado separados por comas para filtrar. Por ejemplo, para filtrar por el estado Pendiente y Revocada, haz lo siguiente:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <Javascript timeLimit="20000" async="false" continueOnError="false"
        enabled="true" name="Set-JWT-Variables">
        <DisplayName>Set JWT Variables</DisplayName>
        <FaultRules/>
        <Properties>
            <Property name="allowProductStatus">Pending,Revoked</Property>
        </Properties>
        <ResourceURL>jsc://set-jwt-variables.js</ResourceURL>
    </Javascript>
    
    

    Si solo deseas que se muestren los productos Aprobados, configura la propiedad de la siguiente manera:

    <Property name="allowProductStatus">Approved</Property>
  3. Guarda el proxy.

    Si no está presente la etiqueta Property, los productos con todos los códigos de estado se mostrarán en el JWT.

    Para usar esta propiedad nueva, debes actualizar el proxy edgemicro-auth.

178423436 Error Los valores de clave y secretos que se pasan en la CLI o a través de variables de entorno son visibles en los argumentos de línea de comandos del explorador de procesos.

Se informó un problema en el que la clave y los valores secretos de la micropuerta de enlace de Edge que se pasaban desde los argumentos de la línea de comandos o se configuraban 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 la micropuerta de enlace.

Para solucionar este problema en el caso de la variable 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 clave y secreto se pasan en la línea de comandos mientras se inicia la micropuerta de enlace, la configuración anula los valores de las variables de entorno, si están configurados. En este caso, los valores aún se pueden ver en los argumentos de la línea de comandos del explorador de procesos.

178341593 Error Se corrigió un error de documentación del complemento apikeys.

El archivo README del complemento apikeys incluía incorrectamente una propiedad gracePeriod. Quitamos esta propiedad y su descripción del archivo readme.

La propiedad gracePeriod se implementa en el complemento oauth. Para usar la función de período de gracia, debes usar el complemento oauth.

179366445 Error Se abordó 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, edgemicro: enable_GET_req_body. Cuando se establece en true, el encabezado de solicitud transfer-encoding: chunked se agrega a todas las solicitudes GET y, si está presente, se envía una carga útil GET al destino. Si es false (la opción predeterminada), la carga útil se quita de forma silenciosa antes de que se envíe la solicitud al destino.

Por ejemplo:

edgemicro:
 enable_GET_req_body: true

Según la RFC 7231, sección 4.3.1: GET, la carga útil de una solicitud GET no tiene 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 la Microgateway de Edge.

Versiones de componentes:

En la siguiente tabla, se muestran 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 principal del producto:

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 Se habilitó el complemento extauth para configurar el encabezado x-api-key de modo que contenga el client_id en el objeto de solicitud cuando el token sea válido. Luego, x-api-key estará 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 solucionó un problema por el que el extremo /token en el proxy edgemicro-auth mostraba expires_in en milisegundos. Sin embargo, según la especificación de OAuth, debe ser coherente con la unidad de tiempo de refresh_token_expires_in, que es segundos.

La corrección no cambia la duración del tiempo de vencimiento, sino solo la unidad de tiempo. Solo se aplica al campo expires_in en la carga útil de la respuesta del token de acceso. El token de JWT en la misma carga útil de respuesta contendría dos campos, iat y exp, y se generan correctamente, y siempre lo han hecho, con la unidad de tiempo seconds.

Si los clientes se basaban en el valor expires_in, en milisegundos, para actualizar los tokens antes de que venzan, aplicar esta corrección sin modificar los clientes provocaría actualizaciones mucho más frecuentes y innecesarias. Estos clientes deberán modificarse para tener en cuenta el cambio de unidad de tiempo y así mantener el comportamiento original.

Si los clientes siempre usaron los valores del token JWT para evaluar el período de actualización del token, no deberían tener que cambiar.

173064680 Error Se corrigió un problema por el que la micropuerta de enlace 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 de gran tamaño de carga útil y que se introdujo en la versión 3.1.7.

174640712 Error Agrega un manejo de datos adecuado a los complementos.

Se agregó un manejo de datos adecuado a los siguientes complementos: json2xml, accumulate-request, accumulate-response y header-uppercase. Para obtener detalles sobre los complementos, consulta microgateway-plugins.

Versión 3.1.x

Corrección de errores y mejoras v.3.1.x

3.1.8

El lunes 16 de noviembre de 2020, lanzamos las siguientes correcciones y mejoras en la Microgateway de Edge.

Versiones de componentes:

En la siguiente tabla, se muestran 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 principal del producto:

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 manejo de reemplazo de variables de entorno analizaba todos los valores como cadenas, lo que generaba errores de análisis para valores booleanos o numéricos. Por ejemplo, edgemicro.port espera y requiere un valor numérico. Se realizaron correcciones para admitir valores booleanos y numéricos. Consulta Cómo configurar atributos de configuración con valores de variables de entorno para obtener detalles sobre la configuración.

169202749 Error El reemplazo de variables de entorno no funcionaba en algunos casos.

El manejo de reemplazo de variables de entorno no funcionaba para algunos atributos de configuración. Consulta Cómo configurar 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 de proxy de API como se esperaba.

El flujo /token en el proxy edgemicro-auth generaba JWT sin los permisos de producto correctos definidos en Edge como resultado de dos situaciones diferentes: 1) la carga útil de la solicitud al flujo /token no pasó un parámetro de permiso o 2) se pasó un permiso no válido en la carga útil de la solicitud al flujo /token. Se realizó una corrección para mostrar todos los permisos definidos en los productos de API en Apigee Edge.

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 la API no están disponibles para los complementos personalizados.

Los alcances de los productos de la API no estaban disponibles para los complementos personalizados ni se escribieron en el archivo de configuración de la caché. Consulta Información acerca de la función init() del complemento para ver cómo los complementos pueden acceder a los detalles del alcance.

169810710 Función La clave y el secreto se guardan en el archivo de configuración de la caché.

La clave y el secreto de la Microgateway de Edge se guardaban en el archivo yaml de configuración de la caché cada vez que se recargaba o iniciaba. 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 estadísticas.

En versiones anteriores de la micropuerta de enlace, el complemento de estadísticas 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, enableAnalytics, para habilitar o inhabilitar el complemento de estadísticas. Consulta la Referencia de configuración para obtener más detalles.

159571119 Error Se produce un error nulo en el hook onerror_request en los complementos personalizados para el tiempo de espera de la respuesta o el socket.

Se realizaron correcciones para propagar el código de estado HTTP y el mensaje de error correctos para los eventos onerror_request y el mensaje de error correcto para los eventos onerror_response.

3.1.7

El jueves 24 de septiembre de 2020, lanzamos las siguientes correcciones y mejoras en la Microgateway de Edge.

Versiones de componentes:

En la siguiente tabla, se muestran 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 principal del producto:

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 manejó de forma incorrecta la respuesta nula de las llamadas axpublisher y provocó que los trabajadores salieran.

133162200 Error La información de la app del desarrollador no se propagó 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 de cliente de Redis excesivas

161404373 Error En el caso de una respuesta de estado 404, se incluyó el URI de proxy completo en el mensaje de respuesta.
166356972 Error

Cuando se ejecutaba la Microgateway de Edge con la versión 12.13.x o posterior de Node.js, se generaba el siguiente error cuando se ejecutaban complementos que transformaban 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 manejo 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".

La micropuerta de enlace ahora procesa la sección de rechazo correctamente y respeta el orden de las secciones “permitir” y “rechazar”. Se agregó una nueva propiedad noRuleMatchAction al archivo de configuración de la micropuerta de enlace para proporcionar paridad con la política de AccessControl de Apigee Edge. Consulta también el archivo readme del complemento de control de acceso en GitHub.

3.1.6

El jueves 20 de agosto de 2020, lanzamos las siguientes correcciones y mejoras en la Microgateway de Edge.

Versiones de componentes:

En la siguiente tabla, se muestran 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 principal del producto:

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 de ubicación de archivos de claves y certificados personalizados para el comando rotatekey.

Para obtener detalles sobre estas nuevas opciones de comandos, 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 comandos, consulta Rotación de claves.

145525133 Característica Alfa Nuevas métricas de complementos

Consulta el archivo New plugin metrics de la sección de ayuda de GitHub para obtener más información.

159396879 Error Quita el Helper de paquetes que no se usen
161092943 Error La validación de la ruta base era incorrecta

Antes de la versión 3.1.6, la ruta base del proxy no coincidía de forma correcta cuando 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 se configura con la ruta base /hello/v1 y una ruta de destino a https://mocktarget.apigee.net. Ahora, supongamos que el proxy recibe las siguientes solicitudes:

Ruta de la solicitud Ruta resuelta Resultado
/hello/v1/json https://mocktarget.apigee.net/json La ruta resuelta es correcta porque la ruta de base de /hello/v1 coincide correctamente.
Ruta de la solicitud Ruta resuelta Resultado
/hello/v1json https://mocktarget.apigee.netjson La ruta de acceso resuelta es incorrecta porque /hello/v1 es una subcadena de /hello/v1json. Como /hello/v1json no es una ruta de acceso válida, Edge Microgateway debería haber generado un error 404. En la versión 3.1.6 y versiones posteriores, se genera un error 404 en este caso.
160431789 Error Complementos personalizados: No se propaga el objeto de configuración que se pasa a init

La configuración de Apigee Edge está disponible en el objeto de configuración para todos los plugins personalizados después de combinarse con el archivo de configuración de la micropuerta de enlace de Edge. Consulta config.

162758808 Error Nueva configuración de cuota para el almacenamiento en caché de Redis

Puedes usar la siguiente configuración para especificar un almacenamiento en caché de Redis para las cuotas. Para obtener más información, consulta Cómo usar un almacén de respaldo de Redis para la cuota.

3.1.5

El viernes 26 de junio de 2020, lanzamos las siguientes correcciones y mejoras en la Microgateway de Edge.

Versiones de componentes:

En la siguiente tabla, se muestran 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 principal del producto:

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, 158529319 Error Se corrigieron los problemas con el complemento json2xml

Se corrigieron los problemas en los que el complemento generaba encabezados Content-Type duplicados y en los que los encabezados no se enviaban al destino como se esperaba en algunos casos.

156560067, 159688634 Función

Cómo usar 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 las 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 la configuración ni en los archivos de caché originales. Para obtener más información, consulta Cómo configurar 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.

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 la micropuerta de enlace. Este problema solo existía en las instalaciones de Edge para la nube privada.

154956890, 155008028, 155829434 Función Se admite filtrar los productos descargados por atributos personalizados

Para obtener más información, consulta Cómo filtrar productos por atributos personalizados.

153949764 Error Se solucionó un problema en el que el proceso de la micropuerta de enlace de Edge fallaba cuando el archivo de destino de registro estaba lleno.

Se mejoró el manejo de excepciones para atrapar el error y mostrar un mensaje en la consola.

155499600 Error Se solucionaron los problemas 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 a la Microgateway de Edge.

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 obsoleto en el repositorio de npm. De lo contrario, todas las correcciones de errores y mejoras que se describen en las notas 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 la Microgateway de Edge.

Versiones de componentes:

En la siguiente tabla, se muestran 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 principal del producto:

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 generaba fugas de memoria. El problema existe en las versiones 3.1.0, 3.1.1 y 3.1.2.
  • 153509313: Se solucionó un problema en el que se imprimía el mismo ID de mensaje para dos transacciones diferentes en el resultado de registro.
  • 151673570: Se solucionó 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, Edge Microgateway se actualizó para que su procesamiento de asignación de rutas de acceso 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 manejaba 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 los identificadores centrados en la organización y el entorno para las cuotas.
  • 152005003: Se realizaron cambios para habilitar los identificadores centrados en la organización y el 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 la Microgateway de Edge.

Versiones de componentes:

En la siguiente tabla, se muestran 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 principal del producto:

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 de la función para agregar compatibilidad con el proxy HTTP para el tráfico entre la Microgateway de Edge y los destinos de backend. Además, se solucionaron los problemas de compatibilidad con el proxy HTTP existente entre Edge Microgateway y Apigee Edge. Para obtener más información, consulta los siguientes vínculos:
  • 149101890: Se cambió el código de notificación de registro de ERROR a INFO en los casos en 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 si redisBasedConfigCache: true o quotaUri: 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: Se actualizó 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 12, ya que la versión 8 de Node.js dejó de estar disponible.
  • 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 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 la Microgateway de Edge.

Versiones de componentes:

En la siguiente tabla, se muestran 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 principal del producto:

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 entorno HTTP_PROXY y HTTPS_PROXY. Con este cambio, la configuración de 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 se especifica 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 HTTP esperará para recibir los encabezados HTTP completos. Por ejemplo:
    edgemicro:
    keep_alive_timeout: 6000
    headers_timeout: 12000

    De forma interna, el parámetro establece el atributo Server.headersTimeout de Node.js en las solicitudes. (Predeterminado: 5 segundos más que el tiempo establecido con edgemicro.keep_alive_timeout). Este parámetro de configuración predeterminado evita que los balanceadores de cargas o los proxies descarten la conexión por error.

  • 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 la API en lugar de usar una 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 con edgemicro.request_timeout.

3.1.0

El martes 21 de enero, lanzamos las siguientes correcciones y mejoras en la Microgateway de Edge.

Versiones de componentes:

En la siguiente tabla, se muestran 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 principal del producto:

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 nuevo evento 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 cuotas" a Edge no actualiza los contadores de cuotas remotos. En este caso, la cuota se procesará según los recuentos locales solo hasta que se realice la próxima sincronización de cuotas remotas correcta. Anteriormente, este evento solo se registraba cuando el nivel de registro se configuraba 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 en el que se veían afectadas las transacciones en curso o nuevas cada vez que Edge Microgateway detectaba un cambio en un proxy de API. Ahora, cuando se realiza un cambio en un proxy, la Microgateway de Edge actualiza la caché y se reinician los nodos de trabajo. Con este cambio, no se verán afectadas las transacciones en curso ni las nuevas llamadas a la API que se envían a la micropuerta de enlace.
  • 146378327: Se cambió el nivel de registro de sourceRequest, targetRequest y targetResponse al nivel INFO.
  • 146019878: Se corrigió una discrepancia entre la latencia que se calculó para "Rendimiento del proxy de la API" en las estadísticas de Edge y los eventos de registro sourceResponse/targetResponse de la micropuerta de enlace de Edge. Ahora, la latencia en las estadísticas de Edge y los eventos de registro de Microgateway están alineados.
  • 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 ruta de acceso de recursos, como se especifica en Productos de API:
      • /{literal}**
      • /{literal}*
      • Cualquier combinación de los dos patrones anteriores

      Con este cambio, el complemento de Microgateway de Edge ahora sigue la misma coincidencia de patrones 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 de OAuth.
  • 143488312: Se solucionó un problema por el que los espacios iniciales o finales en el parámetro de ID de cliente provocaban que la creación de la lista de productos JWT estuviera vacía para las solicitudes de token de OAuth y clave de API.
  • 145640807 y 147579179: Se agregó una nueva función que permite que una instancia especial de la micropuerta de enlace de Edge llamada "el sincronizador" recupere datos de configuración de Apigee Edge y los escriba en una base de datos Redis local. Luego, se pueden configurar otras instancias de micropuerta de enlace para que lean sus datos de configuración desde la base de datos. Esta función agrega un nivel de resiliencia a Edge Microgateway. Permite que las instancias de micropuerta de enlace 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

Corrección de errores y mejoras de la versión 3.0.x

3.0.10

El viernes 8 de noviembre, lanzamos las siguientes correcciones y mejoras en la Microgateway de Edge.

Versiones de 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 principal del producto:

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 funciones para que la coincidencia de patrones de 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 proxy edgemicro_auth se agregue a un producto de API independiente. Luego, debes incluir ese producto en la app para desarrolladores del proxy, como se muestra en la siguiente captura de pantalla:

    alt_text

    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 es compatible con la Microgateway de Edge.

  • 143740696: Cambió la estructura de configuración de quotas (consulta también las notas de la versión 3.0.9). La propiedad quotas 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 cuota, usa la siguiente configuración YAML. Ten en cuenta que la propiedad de configuración se llama quotas. Para obtener detalles sobre las propiedades de configuración individuales de quotas, consulta Opciones de configuración de 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 el almacenamiento de respaldo de la cuota. Si useRedis es verdadero, se usa el módulo voto-quota-redis. Cuando es verdadero, la cuota se restringe solo a las instancias de Microgateway de Edge 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: Se cambió el tiempo de vencimiento predeterminado para los tokens generados por el proxy edgemicro-auth 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 o una contraseña. Para obtener más detalles, consulta Genera claves.

3.0.9

El viernes 11 de octubre, lanzamos las siguientes correcciones y mejoras en la Microgateway de Edge.

Versiones de componentes:

En la siguiente tabla, se muestran 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 principal del producto:

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 "fail open" para el complemento de cuota. Cuando esta función está habilitada, si se produce un error de procesamiento de cuotas o si la solicitud de "aplicación de cuotas" a Edge no actualiza los contadores de cuotas remotos, la cuota se procesará en función de los recuentos locales solo hasta que se realice la próxima sincronización de cuotas remotas correcta. En ambos casos, se establece una marca quota-failed-open en el objeto de solicitud.

    Para habilitar la función de "fallo abierto" de la cuota, establece la siguiente configuración:

    quotas :
     failOpen : true

    Nota: Además, se cambió el nombre de la marca de objeto de solicitud fail-open del complemento de OAuth a oauth-failed-open.

  • 142093764: Se realizó un cambio de configuración en el proxy edgemicro-auth para evitar desbordamientos de cuota. El cambio es establecer el tipo de cuota en calendario. Para usar esta mejora, debes actualizar tu edgemicro-auth a la versión 3.0.7 o una posterior.
  • 142520568: Se agregó una nueva función para habilitar el registro del ID del procesador de mensajes (MP) en las respuestas de cuota. Para usar esta función, debes actualizar tu proxy edgemicro-auth a la versión 3.0.7 o una posterior, y establecer la siguiente configuración:
    quotas:
      useDebugMpId: true

    Cuando se establezca 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 la Microgateway de Edge.

Versiones de componentes:

En la siguiente tabla, se muestran 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 principal del producto:

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 "fallo abierto". Esta función permite que el procesamiento de la API continúe si no se puede actualizar un token JWT vencido debido a un error de conexión que impide que se realice una llamada de verificación de clave de API correcta al proxy 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 la micropuerta de enlace de Edge continúe procesando solicitudes en caso de una falla de conexión temporal. Cuando se reanuda la conectividad y se realiza una llamada correcta a Verify API Key, se recupera un JWT nuevo y se reemplaza el JWT anterior en la caché.

    Para configurar la nueva función "fail open", haz lo siguiente:

    1. Establece las siguientes propiedades en la estrofa oauth del archivo de configuración de la micropuerta de enlace de Edge:
      oauth:
        failOpen: true
        failopenGraceInterval: time_in_seconds
        cacheKey: true
        ...

      Por ejemplo:

      oauth:
        failOpen: true
        failopenGraceInterval: 5
        cacheKey: true
        ...

      En este ejemplo, se usará el token anterior 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.

  • 141168968: Se realizó una actualización para incluir correlation_id en todos los resultados de registro del complemento. Además, los niveles de registro de algunos registros se cambiaron a error según sea necesario.
  • 140193349: Se realizó una actualización en el proxy edgemicro-auth para que se requiera que la clave y el secreto de la Microgateway de Edge se verifiquen en cada solicitud de verificación de la clave de API. La Microgateway de Edge 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 con solo 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 cotización con el resto de los registros de la micropuerta de enlace de Edge.

3.0.7

El jueves 12 de septiembre, lanzamos las siguientes correcciones y mejoras en la Microgateway de Edge.

Versiones de componentes:

En la siguiente tabla, se muestran 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 principal del producto:

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 mostraba códigos de estado 4xx en todos los casos que no eran 200. Ahora, para cualquier respuesta de mensaje que no sea un estado 200, se mostrará 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 proxy edgemicro-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 la micropuerta de enlace de Edge. 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 propiedad quotaUri, debes actualizar al proxy edgemicro-auth más reciente. Para obtener más información, consulta Actualiza 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 edgemicro-auth para quitar "organization" del identificador de cuota. Debido a que el extremo de la 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 correcto de la propiedad es el siguiente:

    edgemicro:
        keep_alive_timeout
  • 139526406: Se corrigió un error en el que se producía un recuento incorrecto de la cuota si una app de desarrollador tenía varios productos. Ahora, la cuota se aplica 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 la micropuerta de enlace de Edge.

  • 138633700: Se agregó una nueva propiedad de configuración, keepAliveTimeout. Esta propiedad te permite establecer el tiempo de espera de Edge Microgateway (en milisegundos). (Predeterminado: 5,000 milisegundos)

    Por ejemplo:

    edgemicro:
      keep_alive_timeout: 600
  • 140090623: Se agregó una nueva propiedad de configuración, quotaUri. Establece esta propiedad de configuración si deseas administrar cuotas a través del proxy edgemicro-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 la micropuerta de enlace de Edge. 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 edgemicro-auth en tu organización. Para obtener más información, consulta Actualiza el proxy edgemicro-auth.

  • 138722809: Se agregó una nueva propiedad de configuración, stack_trace. Esta propiedad te permite controlar si los seguimientos de pila aparecen o no en los archivos de registro. Por ejemplo:
    stack_trace: false

    Si stack_trace se configura como true, el seguimiento de pila se imprimirá en los registros. Si se establece en false, el seguimiento de pila no se imprimirá en los registros.

3.0.5

El jueves 15 de agosto, lanzamos las siguientes correcciones y mejoras en la Microgateway de Edge.

Se corrigieron errores
  • 139005279: Se corrigió un problema por el que el comando edgemicro status no mostraba la cantidad correcta de procesos de trabajo.
  • 138437710: Se corrigió un problema en la clase ExitCounter que impedía que se escribiera el registro correcto.
Mejoras generales en los mensajes de registro
  • 139064652: Se agregó la capacidad de agregar niveles de registro trace y debug para los registros de eventos y del sistema. Por ahora, solo se agregó la capacidad de agregar estos niveles de registro. Actualmente, los niveles de registro disponibles son info, warn y error.
  • 139064616: Se estandarizó la salida de registro 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 del registro de la consola
Mejoras en los mensajes de registro de claves y secretos de JWT
  • 138413755: Se mejoraron 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.
Mejoras en los mensajes de error de tiempo de espera y conexión rechazada
  • 138413577: Se agregó y mejoró el manejo de errores para los tiempos de espera del servicio de backend.
  • 138413303: Se agregó y mejoró el manejo de errores para los tiempos de espera de respuesta y socket.
  • 138414116: Se agregó y mejoró el manejo de errores de “conexión rechazada”.

3.0.4

El jueves 1 de agosto, lanzamos las siguientes correcciones y mejoras en la Microgateway de Edge.

  • 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 los complementos se volvieran a cargar y usaran memoria en exceso. La micropuerta de enlace de Edge ahora mantiene la cantidad de procesos dentro del límite esperado.
  • 137768774: Se realizaron mejoras en los mensajes de registro:
    • Se limpiaron los registros de transacciones (solicitudes).
    • Se agregaron más mensajes de registro donde fue necesario.
    • Se movieron los mensajes de registro de transacciones (solicitudes) del resultado de la consola al archivo de registro relevante.
    • Se actualizaron los registros de la consola para usar una función de registro centralizada.
  • 138321133, 138320563: Cambio interno fundamental en el búfer de cuota para habilitar mejoras futuras de la cuota.

3.0.3

El martes 23 de julio, lanzamos las siguientes correcciones y mejoras en la Microgateway de Edge.

  • Mejoras en el registro: Los registros de entorno de ejecución existentes usan una nueva función eventLog() que captura y registra los datos del entorno de ejecución en un formato coherente. La información de registro incluye lo siguiente:
    • Marca de tiempo (ISO 8601: AAAA-MM-DDHH: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.
    • Es el nombre de la organización de Apigee.
    • Es el nombre del entorno en la organización.
    • Es el nombre del proxy de API.
    • Dirección IP del cliente.
    • ClientId.
    • ID de correlación (no se establece actualmente).
    • Es el nombre del componente de Edge Microgateway.
    • Mensaje personalizado: Algunos objetos pueden imprimir información adicional que se pasa a esta propiedad de error.
    • Es el 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 transcurrido
    • marcador de fin de línea del sistema operativo

    Los valores de propiedades 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. Se corrigió 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 que solicitan los usuarios. Solucionamos los errores y las advertencias de calidad del código derivados de JSHint. Como resultado, se identificaron y repararon 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 de calidad de código se probaron con herramientas internas que verifican la ejecución de la micropuerta de enlace de Edge para casos de uso de los clientes.

3.0.1

El viernes 21 de junio de 2019, lanzamos las siguientes correcciones y mejoras en la Microgateway de Edge.

  • 134834551: Se cambiaron las versiones compatibles de Node.js para la Microgateway de Edge
    (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 durante la carga.
  • 134518428: El extremo de productos de la Microgateway de Edge muestra un error 5XX si el patrón de filtro es incorrecto.
  • 135113408: Los trabajadores deben reiniciarse si se cancelan de forma inesperada.
  • 134945852: No se usa tokenCacheSize en el complemento de OAuth.
  • 134947757: Se estableció cacheTTL en el complemento de OAuth.
  • 135445171: El cálculo de gracePeriod en OAuth no es correcto.
  • Usa el módulo memorizado 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, el 7/6/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 de complementos de Edge microgateway. (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 Cómo administrar 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) Se habilitó 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 del portador directamente.

(Se corrigió en la versión 2.5.31) La configuración privada no respeta la marca de token

Se solucionó 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ó el 2.5.29) Si usas una autoridad certificadora (AC) que Node.js no confía 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 AC que no es de confianza para Node.js.

Docker: Compatibilidad con TLS

(Se agregó el 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 orientadas al norte) y para las solicitudes salientes de Edge Microgateway a una aplicación de destino (solicitudes orientadas al sur).

En los siguientes ejemplos, se explica en detalle cómo configurar estas configuraciones de TLS:

En estos ejemplos, verás cómo usar el punto de activación del contenedor /opt/apigee/.edgemicro para cargar los certificados, a los que se hace referencia en el archivo de configuración de Edge Microgateway.

Docker: Compatibilidad con el proxy de solicitudes

(Se agregó el 2.5.27) Si ejecutas Edge Microgateway en un contenedor de Docker, puedes usar estas opciones para controlar el comportamiento del proxy cuando la micropuerta de enlace se ejecuta detrás de un firewall:

  • HTTP_PROXY
  • HTTPS_PROXY
  • NO_PROXY

Para obtener más detalles, consulta Cómo ejecutar Edge Micro como un contenedor de Docker.

Docker: Se actualizaron las instrucciones del complemento

(Se agregó el 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 activación de Docker, es nueva. La otra opción existía anteriormente y, básicamente, no cambió. Sin embargo, se actualizó el Dockerfile. Para obtener más información, consulta los siguientes vínculos:

Nueva compatibilidad con tokens de OAuth para el comando de actualización de KVM

(Se agregó el 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 APIs en Edge Analytics

(Se agregó el 2.5.26) Las nuevas marcas del complemento de estadísticas te permiten separar una ruta de acceso a la 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 llamadas a la API reales. Para obtener más información, consulta Cómo excluir rutas de las estadísticas.

Configura un proxy local

(Se agregó el 2.5.25) Con un proxy local, no es necesario que crees manualmente un proxy compatible con Microgateway en Apigee Edge. En su lugar, la micropuerta de enlace usará la ruta de acceso 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ó el 2.5.25) Puedes ejecutar Edge Microgateway desconectado por completo de cualquier dependencia de Apigee Edge. Esta situación, llamada modo independiente, te permite ejecutar y probar Edge Microgateway sin una conexión a Internet. Consulta Cómo ejecutar Edge Microgateway en modo independiente.

Cómo revocar claves

(Se agregó el 2.5.19) Se agregó un nuevo comando de CLI que revoca la clave y las credenciales secretas de una configuración de la Microgateway de Edge.

edgemicro revokekeys -o [organization] -e [environment] -u [username] -k [key] -s [secret]
Para obtener más información, consulta Cómo revocar claves.

Compatibilidad con Docker

(Se agregó el 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.19) Puedes implementar Edge Microgateway como un servicio o como una puerta de enlace de sidecar frente a los servicios implementados en un clúster de Kubernetes. Consulta: Integra Edge Microgateway con la descripción general de Kubernetes.

Compatibilidad con la opción nodelay de TCP

(Se agregó el 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 en búfer los datos antes de enviarlos. Si estableces nodelay en true, se inhabilita este comportamiento (los datos se activarán de inmediato cada vez que se llame a socket.write()). Consulta también la documentación de Node.js para obtener más detalles.

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 la supervisión de Forever

(Agregado el 2.5.12) Se agregaron nuevos parámetros al comando edgemicro forever. Estos parámetros te permiten especificar la ubicación del archivo forever.json y, además, iniciar o detener el proceso en segundo plano de Forever. Consulta también Supervisión para siempre

ParámetroDescripción
-f, --fileEspecifica la ubicación del archivo forever.json.
-a, --actionstart o stop El valor predeterminado es inicio.

Ejemplos:

Para comenzar a usar Siempre, 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/privadas que se usan para generar los tokens JWT que se usan para la seguridad de OAuth en la micropuerta de enlace de Edge. Consulta Rotación de claves de JWT.

Filtrar los 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 nombres “edgemicro_”. Puedes cambiar este valor predeterminado para descargar proxies cuyos nombres coincidan con un patrón. Consulta Filtra los proxies descargados.

Especifica 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 de productos permite que una clave de API asociada con 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 para siempre.

Administración central del archivo de configuración de Edge Micro

Si ejecutas varias instancias de Edge Microgateway, te recomendamos que administres 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 agregar 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 reload

(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 discrepancias leves entre el reloj del sistema y las marcas de tiempo de no antes (nbf) o emitido (iat) especificadas en el token de autorización JWT. Establece este atributo en la cantidad de segundos para permitir esas 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 discrepancias leves entre el reloj del sistema y las marcas de tiempo de no antes (nbf) o emitido (iat) especificadas en el token de autorización JWT. Establece este atributo en la cantidad de segundos para permitir esas discrepancias. Consulta Atributos de OAuth.

Errores corregidos en la versión 2.5.x

  • (Problema #236) Se corrigió el error tipográfico al borrar la caché.
  • (Error #234) Se producen fallas de recarga en Edge Microgateway 2.5.35.
  • (Problema #135) Se produjo un error de referencia de host virtual no válida cuando se usaba 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 nombres para el host virtual (ya no se limita a los predeterminados y seguros).
  • (Problema #141) El comando edgemicro reload no admite la opción de archivo de configuración -c. Ya corregimos el problema.
  • (Problema #142) Edge Microgateway se queja de la criptografía obsoleta en el momento de la instalación. Ya corregimos el problema.
  • (Problema #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 JWT se validó en los proxies de API y en el URI de recursos en OAUTH. Se corrigió este problema.
  • (Problema de la comunidad de Apigee: https://community.apigee.com/questions/47846/microgateway-not-working-with-oauth.html) La micropuerta de enlace 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) Se actualizaron 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. Se configuró un alias personalizado para el proxy de edgemicro-auth (PR 116).

Puedes cambiar la ruta de acceso base predeterminada del 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 las 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ó la ruta de configuración personalizada a CLI para la configuración de la nube privada (PR 99).

De forma predeterminada, el archivo de configuración de la micropuerta de enlace 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 solucionó 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. Respeto de las variables *_PROXY (PR 61)

Si Edge Microgateway está instalada detrás de un firewall y no puede comunicarse con Apigee Edge en la nube pública, hay dos opciones que debes considerar:

Opción 1:

La primera opción es establecer la opción edgemicro: proxy_tunnel como verdadera en el archivo de configuración de la micropuerta de enlace:

edge_config:
   proxy: http://10.224.16.85:3128
   proxy_tunnel: true

Cuando proxy_tunnel es true, la Microgateway de Edge usa el método HTTP CONNECT para establecer una tunelización de solicitudes HTTP a través de una sola conexión TCP. (Lo mismo sucede si las variables de entorno para configurar el proxy tienen habilitada la 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 la micropuerta de enlace. Por ejemplo:

edge_config:
   proxy: http://10.224.16.85:3128
   proxy_tunnel: false

En este caso, puedes configurar las siguientes variables para controlar los hosts de cada proxy HTTP que desees usar o los hosts que no deben controlar los proxies de la Microgateway de Edge: HTTP_PROXY, HTTPS_PROXY y NO_PROXY. Puedes configurar NO_PROXY como una lista delimitada por comas de dominios a los que la Microgateway de Edge no debe usar 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 segmentación con esta configuración:

edgemicro:
    request_timeout: 10

El tiempo de espera se establece en segundos. Si se produce un tiempo de espera, la Microgateway de Edge responde con un código de estado 504.

6. Respetar 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 que se enviaban desde el destino se anulaban con los valores predeterminados de Node.js.

7. El encabezado X-Forwarded-For puede establecer el cliente_ip para las estadísticas.

Si está presente, el encabezado X-Forwarded-For establecerá la variable client_ip que se informa en Edge Analytics. Esta función te permite conocer la IP del cliente que envió una solicitud a la micropuerta de enlace de Edge.

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 cualquier forma de seguridad. Con este cambio, puedes permitir solo uno de esos modelos de seguridad (y mantener la retrocompatibilidad).

Los complementos de OAuth agregan dos marcas nuevas:

  • allowOAuthOnly: Si se establece como true, cada API debe llevar un encabezado de autorización con un token de acceso del portador.

  • allowAPIKeyOnly: Si se establece en true, cada API debe llevar un encabezado x-api-key (o una ubicación personalizada) con una clave de API.

Puedes establecer estas marcas 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 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 volvió a escribir 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 del complemento: req.targetPort y req.targetSecure. Para elegir HTTPS, establece req.targetSecure en true. Para HTTP, configúralo en false. Si estableces req.targetSecure en "true", consulta esta conversación para obtener más información.

11. Compatibilidad inicial con la autenticación de tokens de OAuth (PR 125)

Puedes configurar la Microgateway de Edge para que use un token de OAuth para la autenticación en lugar de un nombre de usuario o 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 necesitaba una organización pagada para ejecutar correctamente el proxy de edgemicro-auth. Ahora, también 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 fin 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 Private Cloud. (PR 110)
  • Se solucionó un problema con el SSL bidireccional entre el cliente y la micropuerta de enlace de Edge. (PR 70)
  • Se corrigió un problema en el que se necesitaba una barra diagonal al final de la ruta de acceso base del proxy para que la verificación de la clave de API funcionara correctamente. Ahora, no se necesita una barra al final de la ruta de base. (PR 48)

Versión 2.3.5

Nuevas funciones y mejoras de la versión 2.3.5

Filtrado de proxy

Puedes filtrar qué proxies compatibles con microgateway procesará una instancia de Edge Microgateway. Cuando se inicia Edge Microgateway, descarga todos los proxies compatibles con la micropuerta de enlace en la organización con la que está asociada. Usa la siguiente configuración para limitar los proxies que procesará la micropuerta de enlace. Por ejemplo, esta configuración limita los proxies que procesará la micropuerta de enlace a tres: 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 la micropuerta de enlace para enmascarar el URI o la ruta de acceso de la solicitud. Ten en cuenta que el URI consta de las partes del nombre de host y 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

Funciones y mejoras nuevas de la versión 2.3.3

A continuación, se muestran las nuevas funciones y mejoras de esta versión.

Cómo inhabilitar el sondeo de cambios automáticos

Para desactivar el sondeo de cambios automático, configura este atributo en la configuración de la micropuerta de enlace:

disabled_config_poll_interval: true

De forma predeterminada, el sondeo periódico detecta cualquier cambio realizado en Edge (cambios en los productos, proxies compatibles con microgateway, 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).

Reescritura de URLs de destino en complementos

Para anular la URL de destino predeterminada de forma dinámica en un complemento, modifica estas variables en el código del complemento: req.targetHostname y req.targetPath.

Nueva firma de función de complemento

Se agregó una nueva firma de función del complemento que proporciona la respuesta de destino como un argumento. Esta incorporación facilita que los complementos accedan 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 los JWT descargados. Para cambiar a la configuración predeterminada y generar estos objetos, configura DEBUG=* cuando inicies la Microgateway de Edge. Por ejemplo:

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

Se agregó la ruta de acceso de configuración personalizada a la CLI

De forma predeterminada, el archivo de configuración de la micropuerta de enlace 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 se producía durante solicitudes o respuestas grandes.
  • Se corrigió el orden de ejecución de los complementos. Ahora se comporta como 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 por 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 muestran las nuevas funciones y mejoras de esta versión.

Filtra los proxies

Una nueva configuración te permite filtrar los proxies que Edge Microgateway cargará al iniciarse. Anteriormente, la micropuerta de enlace cargaba todos los proxies compatibles con la micropuerta de enlace (proxies con el nombre edgemicro_*) que se extraían 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 esta lista de proxies para que Edge Microgateway solo cargue los que especifiques. Simplemente agrega el elemento de proxy al archivo de configuración de la micropuerta de enlace de la siguiente manera:

edge micro:
proxies:
    - edgemicro_[name]
    - edgemicro_[name]
    ...

Por ejemplo, supongamos que tienes 50 proxies edgemicro_* en tu org/env de Edge, incluidos los llamados edgemicro_foo y edgemicro_bar. Puedes decirle a la micropuerta de enlace que use solo estos dos proxies de la siguiente manera:

edge micro:
proxies:
    - edgemicro_foo
    - edgemicro_bar

Al inicio, la micropuerta de enlace 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.

Establece encabezados de solicitud de destino en los complementos

Existen dos patrones básicos que debes tener en cuenta si deseas agregar o modificar los encabezados de la solicitud de destino: uno en el que la solicitud entrante contiene datos (como en una solicitud POST) y uno en el que no (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 acumular primero 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 código de ejemplo del complemento que muestra 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 que se documentó anteriormente y se usó en los complementos de muestra proporcionados 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 la Microgateway de Edge, puedes cargar la configuración sin perder ningún mensaje. Con este cambio, la Microgateway de Edge 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 de la CLI. Debes ejecutar estos comandos desde el mismo directorio en el que se ejecutó el comando de inicio de edgemicro:

  • edgemicro status: Verifica si Edge Microgateway está en ejecución 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.

Actualización automática de la configuración sin tiempo de inactividad

La Microgateway de Edge carga una configuración nueva periódicamente y ejecuta una recarga si hay algún cambio. El sondeo detecta cualquier cambio realizado en Edge (cambios en los productos, proxies compatibles con microgateway, etc.), 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 la micropuerta de enlace 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 lo siguiente:

edgemicro --version

Nuevas opciones de SSL del servidor de Edge Microgateway

Edge Microgateway ahora admite las siguientes opciones de SSL de servidor, además de key y cert:

Opción Descripción
pfx Es la ruta de acceso a un archivo pfx que contiene la clave privada, el certificado y los certificados de AC del cliente en formato PFX.
passphrase Es una cadena que contiene la frase de contraseña de la clave privada o el PFX.
ca Es la ruta de acceso a un archivo que contiene una lista de certificados de confianza en formato PEM.
ciphers Es una cadena que describe los algoritmos de cifrado que se usarán separados por un ":".
rejectUnauthorized Si es verdadero, el certificado del servidor se verifica en función de la lista de AC proporcionadas. Si la verificación falla, se muestra un error.
secureProtocol 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 de la extensión TLS SNI (indicación de nombre de 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 muestran 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 autenticació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 muestran 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

Funciones y mejoras nuevas de la versión 21.0

A continuación, se incluyen las nuevas funciones y mejoras:

Especifica las opciones de SSL/TLS del cliente

Puedes especificar opciones de cliente para conexiones SSL/TSL a destinos con un nuevo conjunto de opciones de configuración. Consulta Cómo usar las opciones de SSL/TSL 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 incluyen las nuevas funciones y mejoras:

Especifica un puerto al inicio

El comando start 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 información.

Cómo conservar los encabezados de autenticació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 establece como verdadero, el encabezado de Auth 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 la micropuerta de enlace de Edge para que apunte a tu servicio. Para obtener más información, consulta Cómo usar un servicio de autenticación personalizado.

Versión 2.0.4

La versión 2.0.4 de Edge Microgateway se lanzó el 25 de mayo de 2016.

Nuevas funciones y mejoras de la versión 2.0.4

A continuación, presentamos 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 más información 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

La versión 2.0.0 de Edge Microgateway se lanzó el 18 de abril de 2016.

Nuevas funciones y mejoras de la versión 2.0.0

A continuación, presentamos las nuevas funciones y mejoras de esta versión.

Servidor de un solo proceso

Edge Microgateway ahora es un servidor de un solo proceso. 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 espacio de nombres con organización y entorno para que varias instancias de Microgateway se puedan ejecutar 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 tienes que especificar sus valores cuando usas la interfaz de línea de comandos (CLI) para configurar y, luego, iniciar la Microgateway de Edge.

Configuración almacenada en caché

Edge Microgateway usa un archivo de configuración almacenado en caché si se reinicia sin una 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 multinúcleo. La micropuerta de enlace 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

El ciclo de vida del evento del complemento ahora controla correctamente el código asíncrono que contiene código con una devolución de llamada nueva.

Versión 1.1.2

La versión 1.1.2 de Edge Microgateway se lanzó el 14 de marzo de 2016.

Nuevas funciones y mejoras de la versión 1.1.2

A continuación, presentamos las nuevas funciones y mejoras de esta versión.

Mejora del rendimiento

La Microgateway de Edge ahora usa el agente HTTP de Node.js correctamente para mejorar el grupo de conexiones. Esta mejora mejora el rendimiento y la estabilidad general con cargas altas.

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 la puerta de enlace de microservicios de Edge.

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 llamada a texto de Java para el proxy interno de edgemicro que se usa con Edge local ahora usa el servidor de MGMT correcto.
Se quitaron las dependencias de typescript del agente.
Se corrigió el error de la CLI cuando se usaba la opción de implementación optimizada.
Se corrigió la referencia de dependencia de la lógica de la certificación.