Notas de la versión de Edge Microgateway

Estás consultando la documentación de Apigee Edge.
Consulta la documentación de Apigee X.
Información

Versión 3.3.x

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

3.3.2

El 18 de agosto de 2023, lanzamos las siguientes correcciones y mejoras para Edge Microgateway.

Versiones de los componentes:

En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.3.2. Ten en cuenta que, como cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión del producto principal:

microgateway core config complementos edgeauth
3.3.2 3.3.2 3.3.2 3.3.2 3.2.2

Mejoras y correcciones de errores:

ID del problema Tipo Descripción
296187679 Atributo

Las versiones compatibles de Node.js son las 16, 18 y 20. A partir de la versión 3.3.2, los comandos de la CLI de Edge Microgateway solo funcionarán en las versiones compatibles. La ejecución de comandos de la CLI en versiones no compatibles generará un error. Consulta también Software y versiones compatibles con Apigee.

283947053 Error

Se corrigió un problema por el que Edge Microgateway mostraba el primer producto de API de la lista de productos de API asociados con una app. Ahora determinamos el producto de API correcto para mostrar en función de la solicitud.

274443329 Error

Se solucionó 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.

Solución de problemas de seguridad

Ningún contenido de este tipo

3.3.1

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

Versiones de los componentes:

En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.3.1. Ten en cuenta que, como cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión del producto principal:

microgateway core config complementos edgeauth
3.3.1 3.3.1 3.3.1 3.3.1 3.2.2

Mejoras y correcciones de errores:

ID del problema Tipo Descripción
220885293 Atributo

La versión 16 de Node.js ahora es compatible.

231972608 Error

Se solucionó un problema en el que el comando private configure arrojaba un error cuando se intentaba configurar para una nube privada.

233315475 Error

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

221432797 Cambiar

La versión de Docker para Node.js de la imagen base de Edge Microgateway se actualizó a Node.js 14.

215748732 Atributo

Se agregó compatibilidad con la autenticación con token de SAML al comando revokekeys.

Ahora puedes pasar un token de SAML en lugar de las credenciales de nombre de usuario y contraseña con la opción -t del comando revokekeys.

Para obtener más detalles, consulta la Referencia de línea de comandos.

218723889 Actualización del documento

La documentación se actualizó para incluir un vínculo a los complementos de Edge Microgateway compatibles que están almacenados en GitHub. Consulta Complementos existentes empaquetados con Edge Microgateway.

Solución de problemas de seguridad

ID del problema Descripción
CVE-2021-23413 Esto afecta al paquete jszip anterior a la 3.7.0. Crear un archivo ZIP nuevo con nombres de archivo establecidos en valores de prototipo de objeto (p. ej., proto, toString, etc.) genera un objeto mostrado con una instancia de prototipo modificada.

3.3.0

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

Versiones de los componentes:

En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.3.0. Ten en cuenta que, como cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión del producto principal:

microgateway core config complementos edgeauth
3.3.0 3.3.0 3.3.0 3.3.0 3.2.2

Mejoras y correcciones de errores:

ID del problema Tipo Descripción
219556824 Problema conocido Edge Microgateway Gateway 3.3.0 no es compatible con el comando npm audit correct.

Ejecutar npm audit fix hace que apigeetool se actualice a 0.15.2, lo que afecta al comando edgemicro upgradeauth.

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

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

Para solucionar el problema, ejecuta el siguiente comando a fin de restablecer la versión correcta de apigeetool:

npm install apigeetool@0.15.1

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

138622990 Atributo

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

192534424 Error

Se corrigió un problema en el que el código de respuesta que se ve en las estadísticas de Apigee no coincidía con el código de respuesta de Edge Microgateway.

198986036 Mejora Edge Microgateway ahora recupera la clave pública de un proveedor de identidad (IdP) en cada intervalo de sondeo y también actualiza la clave en caso de que cambie la clave pública del IdP. Anteriormente, el complemento extauth no podía actualizar la clave pública sin volver a cargar Edge Microgateway si cambiaba la clave pública de un IdP.
168713541 Error

Se mejoró la documentación a fin de explicar cómo configurar TLS/SSL para varios destinos. Consulta Usa opciones SSL/TLS del cliente.

171538483 Error

Se cambió la documentación para corregir la convención de nomenclatura de archivos de registro. Consulta las Convenciones de nomenclatura de archivos de registro.

157908466 Error

Se cambió la documentación para explicar de forma correcta cómo instalar una versión específica de Edge Microgateway. Consulta Actualiza Edge Microgateway si tienes conexión a Internet.

215748427 Error Se solucionó un problema en el que el comando rescindirkeys mostraba un error cuando se revocaba una clave con un par de clave y secreto existente.
205524197 Error Se actualizó la documentación para incluir la lista completa de niveles de registro. Consulta los atributos de Edgemicro y Cómo configurar el nivel de registro.

Versión 3.2.x

Correcciones de errores y mejoras v.3.2.x

3.2.3

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

Versiones de los componentes:

En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.2.3. Ten en cuenta que, como cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión del producto principal:

microgateway core config complementos edgeauth
3.2.3 3.2.3 3.2.3 3.2.3 3.2.2

Mejoras y correcciones de errores:

ID del problema Tipo Descripción
192416584 Atributo

El atributo de configuración disableStrictLogFile te permite disminuir la rigurosidad de los permisos de archivo estrictos en el archivo de registro de la aplicación api-log.log. Para obtener más información, consulta Cómo disminuir la rigurosidad de los permisos de los archivos de registro.

192799989 Atributo

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 de forma prematura. 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, Edge Microgateway no se cerró de forma correcta con el comando docker stop {containerId}. Se cerró el proceso, pero no se quitaron los archivos .sock y .pid. Ahora, se quitaron los archivos y reiniciar el mismo contenedor funciona como se esperaba.
190715670 Error Se solucionó un problema por el que algunas solicitudes se detenían durante la actividad de recarga interna de la micropuerta de enlace. Este problema era intermitente y ocurrió en situaciones de mucho tráfico. El problema se detectó cuando se usaban las funciones tokenCache y cacheKey del complemento de OAuth.
183910111 Error Se solucionó un problema por el que una URL de ruta de acceso a un recurso con una barra final se interpretaba de manera incorrecta como una ruta de acceso a un recurso independiente. Ahora, por ejemplo, las rutas /country/all y /country/all/ se interpretan como la misma ruta de acceso.

Solución de problemas de seguridad

ID del problema Descripción
CVE-2020-28503 Los recursos de copia del paquete anteriores a la 2.0.5 son vulnerables a la contaminación de los prototipos a través de la funcionalidad principal.
CVE-2021-23343 Todas las versiones de análisis de ruta de paquetes son vulnerables a la denegación del servicio de expresión regular (ReDoS) mediante las expresiones regulares splitDeviceRe, splitTailRe y splitPathRe. ReDoS expone la peor complejidad temporal del peor de los casos polinómicas.

3.2.2

El jueves 15 de julio de 2021, lanzamos las siguientes correcciones y mejoras de Edge Microgateway.

Versiones de los componentes:

En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.2.2. Ten en cuenta que, como cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión del producto principal:

microgateway core config complementos edgeauth
3.2.2 3.2.2 3.2.2 3.2.2 3.2.2

Mejoras y correcciones de errores:

ID del problema Tipo Descripción
185323500 Cambiar

Se cambió el valor expires_in de una string a un número entero

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

Para cumplir con el RFC 6749, el marco de trabajo de autorización de OAuth 2.0, se cambió el valor esperado del parámetro de configuración expires_in de string a número entero. Para obtener más detalles, consulta 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, Node.js 8 ya no será compatible. Para obtener más información, consulta Software y versiones compatibles: Edge Microgateway.

183990345 Atributo Configura los resultados del registro para el contenedor de Docker

El parámetro de configuración de Edge Microgateway to_console te permite 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 stdout y la salida de error 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.

Si deseas obtener detalles sobre cómo usar esta nueva variable, consulta Usa Docker para Edge Microgateway.

183057665 Atributo Configura las rutas de acceso a los archivos edgemicro.pid y edgemicro.sock.

Un parámetro -w, --workdir nuevo para ejecutar un contenedor de Docker con Edge Microgateway 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 Usa Docker para Edge Microgateway.

191352643 Atributo Se actualizó la imagen de Docker para Edge Microgateway a fin de usar la versión 12.22 de Node.js. Consulta Usa Docker para Edge Microgateway.

Solución de 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 podía agregar o alterar las propiedades de un objeto a través de "__proto__" a través de las funciones mutate() y merge(). El atributo contaminado se asignará directamente a cada objeto del programa. Esto pondrá en riesgo la disponibilidad del programa, lo que provocará una posible denegación del servicio (DoS).
CVE-2021-30246 En el paquete jsrsasign a través de la versión 10.1.13 para Node.js, se reconocen por error algunas firmas RSA PKCS#1 v1.5 no válidas. NOTA: No se conoce ningún ataque práctico.
CVE-2021-23358 El paquete de guion bajo de 1.13.0-0 y antes de 1.13.0-2, de 1.3.2 y antes de 1.12.1 son vulnerables a la inserción de código arbitrario a través de la función de plantilla, en especial cuando se pasa una propiedad de variable como argumento, ya que no se limpia.
CVE-2021-29469 Node-redis es un cliente de Redis para Node.js. Antes de la versión 3.1.1, cuando un cliente estaba en modo de supervisión, el inicio de la regex que se utiliza para detectar los mensajes de supervisión podía causar un retroceso exponencial en algunas strings. Este problema podría provocar una denegación del servicio. El problema tiene un parche 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 para Edge Microgateway.

Versiones de los componentes:

En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.2.1. Ten en cuenta que, como cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión del producto principal:

microgateway core config complementos edgeauth
3.2.1 3.2.1 3.2.1 3.2.1 3.2.1

Mejoras y correcciones de errores:

ID del problema Tipo Descripción
180362102 Error Se solucionó un problema por el que las claves JWK con un valor nulo provocaban que las aplicaciones fallaran.

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

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

179971737 Error Se solucionó un problema por el que las respuestas con los estados 4XX / 5XX de destino se registraban como errores de proxy para los proxies edgemicro_*.

En el caso de las transacciones de Edge Microgateway, se mostraron recuentos de errores de destino incorrectos en el panel de análisis del código de error de Apigee Edge. Los códigos de error de errores de destino se contaron como errores de proxy. Se solucionó este problema y ahora se muestran los recuentos de errores de destino correctos.

179674670 Atributo Se agregó una función nueva que te permite filtrar la lista de productos de API ubicados en un JWT en función de los códigos de estado de productos.

Los productos de API tienen tres códigos de estado: Pendiente, Aprobado y Revocado. Se agregó una propiedad nueva llamada allowProductStatus a la política Configurar variables de JWT en el proxy edgemicro-auth. Para usar esta propiedad a fin de filtrar los productos de API que aparecen en el JWT, sigue estos pasos:

  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 separada por comas de códigos de estado para filtrar. Por ejemplo, para filtrar los estados Pendiente y Revocado, 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 quieres que se muestren los productos Aprobados, configura la propiedad de la siguiente manera:

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

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

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

178423436 Error Los valores de clave y secreto que se pasan en la CLI o mediante variables de entorno se pueden ver en los argumentos de la línea de comandos del explorador de procesos.

Se informó un problema en el que se mostraban los valores del secreto y la clave de Edge Microgateway que se pasaban desde los argumentos de la línea de comandos o que se establecían mediante variables de entorno en los argumentos de los procesos secundarios o trabajadores del nodo después de iniciar la micropuerta de enlace.

Para solucionar este problema en la situación de variables de entorno, los valores ya no son visibles en los argumentos de la línea de comandos del explorador de procesos.

Si los valores de la clave y el secreto se pasan en la línea de comandos mientras se inicia la micropuerta de enlace, la configuración reemplazará cualquier valor de variable de entorno, si se establece. En este caso, los valores aún son visibles en los argumentos de la línea de comandos del explorador de procesos.

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

El archivo README para el complemento apikeys incluyó 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 utilizar el complemento oauth.

179366445 Error Se solucionó un problema por el que se descartaba la carga útil de todas las solicitudes GET a los destinos.

Puedes controlar el comportamiento deseado con un nuevo parámetro de configuración, edgemicro: enable_GET_req_body. Cuando se configura en true, el encabezado de solicitud transfer-encoding: chunked se agrega a todas las solicitudes GET y, si está presente, se envía al destino una carga útil GET. Si es false (la opción predeterminada), la carga útil se quita de manera silenciosa antes de que la solicitud se envíe al destino.

Por ejemplo:

edgemicro:
 enable_GET_req_body: true

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

Versiones de los componentes:

En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.2.0. Ten en cuenta que, como cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión del producto principal:

microgateway core config complementos edgeauth
3.2.0 3.2.0 3.2.0 3.2.0 3.2.0

Mejoras y correcciones de errores:

ID del problema Tipo Descripción
152640618 Error Se habilitó el complemento extauth para configurar el encabezado x-api-key a fin de que contenga client_id en el objeto de la solicitud cuando el token sea válido. Luego, x-api-key estará disponible para los complementos posteriores.
168836123, 172295489, 176462355 o 176462872 Atributo Se agregó compatibilidad con Node.js 14.
172376835 Error Usa la unidad de tiempo correcta para el extremo /token en el proxy edgemicro-auth.

Se corrigió un problema en el que el extremo /token del proxy edgemicro-auth mostraba expires_in en milisegundos. Sin embargo, según la especificación de OAuth, debería ser coherente con la unidad de tiempo de refresh_token_expires_in, que es segundos.

La corrección no cambia la duración de la hora 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 JWT en la misma carga útil de respuesta contendrá dos campos, iat y exp, y se generan de forma correcta y siempre lo fueron con la unidad de tiempo seconds.

Si los clientes utilizaban el valor expires_in, en milisegundos, para actualizar los tokens antes de su vencimiento, aplicar esta corrección sin modificar los clientes generaría actualizaciones innecesarias y mucho más frecuentes. Estos clientes deberán modificarse para considerar el cambio de unidad de tiempo y 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 es necesario que los clientes cambien.

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

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

Se agregó un control adecuado de datos a los siguientes complementos: json2xml, accumulate-request, accumulate-response y header-uppercase. Para obtener detalles sobre el complemento, 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 Edge Microgateway.

Versiones de los componentes:

En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.1.8. Ten en cuenta que, como cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión del producto principal:

microgateway core config complementos edgeauth
3.1.8 3.1.9 3.1.7 3.1.3 3.1.2

Mejoras y correcciones de errores:

ID del problema Tipo Descripción
169201295 Error Los valores numéricos y booleanos se analizaron de forma incorrecta en las etiquetas de variables de entorno.

El control de reemplazo de variables de entorno analizó todos los valores como strings, lo que generó errores de análisis de 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 Configura atributos de configuración con valores de variables de entorno para obtener detalles de configuración.

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

El control de reemplazo de variables de entorno no funcionaba para algunos atributos de configuración. Consulta Configura atributos de configuración con valores de variables de entorno para obtener información sobre las limitaciones.

168732942 Error Se corrigió un problema por el que los permisos de OAuth no restringían el acceso del proxy de API como se esperaba.

El flujo /token de los JWT generados por el proxy edgemicro-auth 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 alcance o 2) un alcance 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 corrigió un problema en el que el flujo /refresh del proxy edgemicro-auth generaba un JWT sin apiProductList.

170708611 Error Los alcances del producto de API no están disponibles para los complementos personalizados.

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

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

La clave y el secreto de Edge Microgateway se guardaban en el archivo yaml de configuración de caché cada vez que se vuelve a cargar o se inicia. En la versión 3.1.8, la clave y el secreto ya no se guardan en el archivo de configuración de caché. Si la clave y el secreto se escribieron previamente en el archivo de configuración de caché, se quitarán.

170708621 Atributo No se puede inhabilitar el complemento de Analytics.

En las 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 obtiene un error nulo en el hook onerror_request en complementos personalizados para el tiempo de espera de respuesta o socket.

Se realizaron correcciones a fin de 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 de Edge Microgateway.

Versiones de los componentes:

En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.1.7. Ten en cuenta que, como cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión del producto principal:

microgateway core config complementos edgeauth
3.1.7 3.1.8 3.1.6 3.1.2 3.1.1

Mejoras y correcciones de errores:

ID del problema Tipo Descripción
131708105 Error El complemento analytics controló de forma incorrecta la respuesta nula de las llamadas a axpublisher y provocó que los trabajadores salieran.

133162200 Error La información de la app del desarrollador no se 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 estadísticas.

158618994 Error Demasiadas conexiones de cliente de Redis.

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

Cuando se ejecutaba Edge Microgateway con Node.js versión 12.13.x o posterior, se producía el siguiente error cuando se ejecutaban complementos que transforman la carga útil de la solicitud:

{"message":"write after end","code":"ERR_STREAM_WRITE_AFTER_END"}

168681746 Error La recarga manual de Edge Microgateway con redisBasedConfigCache:true no funcionaba.

149256174 Error No se registraron errores del complemento de OAuth para fallas de red.

166517190 Error Synchronizer no almacenó ni recuperó los datos de jwk_public_keys, ni los almacenó en Redis.

141659881 Error El manejo de errores de certificado de destino no válido mostró respuestas de error engañosas.

142808699 Error El complemento de control de acceso no controlaba correctamente las secciones “allow” y “deny”.

La micropuerta de enlace ahora procesa la sección de denegación correctamente y respeta el orden de las secciones “allow” y “deny”. Se agregó una propiedad noRuleMatchAction nueva al archivo de configuración de 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 de Edge Microgateway.

Versiones de los componentes:

En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.1.6. Ten en cuenta que, como cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión del producto principal:

microgateway core config complementos edgeauth
3.1.6 3.1.7 3.1.5 3.1.1 3.1.1

Mejoras y correcciones de errores:

ID del problema Tipo Descripción
163711992 Atributo Opciones de ubicación de archivos de claves y certificados personalizados para el comando de rotarkey.

Para obtener detalles sobre estas nuevas opciones de comandos, consulta Cómo rotar claves.

154838259 Error Corrige la rotación de claves para varias instancias en varios centros de datos

Para obtener detalles sobre estas nuevas opciones de comandos, consulta Cómo rotar claves.

145525133 Característica Alfa Nuevas métricas de complementos

Consulta el archivo README de New plugin metrics en GitHub para obtener más detalles.

159396879 Error Cómo quitar el asistente de paquetes sin usar
161092943 Error La validación de la ruta base era incorrecta

Antes de la versión 3.1.6, la ruta base del proxy coincidía de forma incorrecta 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 se configura un proxy 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 de acceso resuelta es correcta porque la ruta base de /hello/v1 coincide de forma correcta.
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. Debido a que /hello/v1json no es una ruta de acceso válida, Edge Microgateway debería haber arrojado un error 404. En la versión 3.1.6 y en versiones posteriores, se arroja un error 404 en este caso.
160431789 Error Complementos personalizados: El objeto de configuración que se pasa a init no está propagado

La configuración de Apigee Edge está disponible en el objeto de configuración para todos los complementos personalizados después de la combinación con el archivo de configuración de Edge Microgateway. Consulta la configuración.

162758808 Error Nueva configuración de cuota para el almacén de copia de seguridad de Redis

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

3.1.5

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

Versiones de los componentes:

En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.1.5. Ten en cuenta que, como cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión del producto principal:

microgateway core config complementos edgeauth
3.1.5 3.1.6 3.1.4 3.1.0 3.1.0

Mejoras y correcciones de errores:

ID del problema Tipo Descripción
159210507 Atributo 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 específicas. Si deseas obtener más información, consulta Cómo configurar URLs de exclusión para complementos.

156986819, 158529319 Error Se solucionaron problemas con el complemento json2xml

Se solucionaron problemas en los que el complemento producía encabezados de tipo de contenido duplicados y los encabezados no se enviaban al destino como se esperaba en algunos casos.

156560067, 159688634 Atributo

Usa valores de variables de entorno en la configuración

Se agregó una función que te permite especificar variables de entorno mediante etiquetas en el archivo de configuración. Las etiquetas de variable de entorno especificadas se reemplazan por los valores reales de la variable de entorno. Los reemplazos se almacenan solo en la memoria y no en la configuración original ni en los archivos de caché. Para obtener más detalles, consulta Establece atributos de configuración con valores de variables de entorno.

155077210. Error Se solucionó un problema de formato de registro.

Se solucionó un problema en el que el host de destino aparecía en los registros con dos puntos extraños adjuntos.

153673257 Error

(Solo para Edge para la nube privada) No se extraen productos compatibles con micropuertas de enlace

Se solucionó un problema por el que no se extraían los productos compatibles con micropuertas de enlace. Este problema solo existía en Edge para instalaciones de nube privada.

154956890, 155008028 o 155829434 Atributo Compatibilidad con el filtrado de productos descargados por atributos personalizados

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

153949764 Error Se corrigió un problema en el que fallaba el proceso de Edge Microgateway cuando el archivo de destino de registro estaba lleno

Se mejoró el manejo de excepciones para capturar el error e imprimir un mensaje en la consola.

155499600 Error Se corrigieron los problemas con la rotación de claves y la actualización de KVM

Consulta también Rotar claves JWT.

3.1.4

El viernes 23 de abril de 2020, lanzamos la siguiente corrección para Edge Microgateway.

Corrección de errores:

Se corrigió un problema de dependencia en la versión 3.1.3. La versión 3.1.3 se marcó como obsoleta en el repositorio de npm. De lo contrario, todas las correcciones de errores y mejoras que se describen en la nota de la versión 3.1.3 se aplican a esta versión.

3.1.3

El miércoles 15 de abril de 2020, lanzamos las siguientes correcciones y mejoras en Edge Microgateway.

Versiones de los componentes:

En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.1.3. Ten en cuenta que, como cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión del producto principal:

microgateway core config complementos edgeauth
3.1.3 3.1.3 3.1.3 3.0.14 3.0.9

Mejoras y correcciones de errores:

  • 153509313: Se corrigió un problema por el que el módulo de depuración de Node.js provocaba fugas de memoria. El problema existe en las versiones 3.1.0, 3.1.1 y 3.1.2.
  • 153509313: se corrigió un problema en el que se imprimía el mismo ID de mensaje para dos transacciones diferentes en el resultado del registro.
  • 151673570: Se solucionó un problema por el que no se actualizó Edge Microgateway para usar las APIs nuevas de KVM de Apigee. Edge Microgateway ahora usa los comandos nuevos para agregar y actualizar los valores de KVM.
  • 152822846: En las versiones anteriores, se actualizó Edge Microgateway para que el procesamiento de la asignación de la ruta de acceso del recurso coincida con el de Apigee Edge. En esta versión, se solucionó un problema por el que no se manejaba correctamente el patrón /literal_string/*. Por ejemplo, /*/2/*. Consulta también Cómo configurar el comportamiento de una ruta de acceso a recursos '/', '/*' y '/**'.
  • 152005003: Se realizaron cambios a fin de habilitar los identificadores con permiso de organización y entorno para las cuotas.
  • 152005003: Se realizaron cambios a fin de habilitar los identificadores con permiso de organización y entorno para las cuotas. Se usa la combinación de “org + env + appName + productName” como identificador de cuota.

3.1.2

El lunes 16 de marzo de 2020, lanzamos las siguientes correcciones y mejoras para Edge Microgateway.

Versiones de los componentes:

En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.1.3. Ten en cuenta que, como cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión del producto principal:

microgateway core config complementos edgeauth
3.1.2 3.1.2 3.1.2 3.0.13 3.0.9

Mejoras y correcciones de errores:

  • 151285018: Se realizó una mejora de función a fin de agregar compatibilidad con proxy HTTP para el tráfico entre Edge Microgateway y objetivos de backend. Además, se solucionaron los problemas de la compatibilidad existente con el proxy HTTP entre Edge Microgateway y Apigee Edge. Para obtener más información, consulta los siguientes vínculos:
  • 149101890: El código de notificación de registro para casos en los que el servidor de destino o el balanceador de cargas cierran su conexión se cambió de ERROR a INFO.
  • 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 más rápido las conexiones del servidor cuando se reinician los trabajadores durante una recarga.
  • 151588764: Actualiza a la versión 12 la versión de Node.js en la imagen de Docker que se usa para ejecutar Edge Microgateway en un contenedor de Docker, ya que Node.js v8 está obsoleto.
  • 151306049: Se actualizó la documentación para enumerar las APIs de administración de Apigee Edge que usan los comandos de la CLI de Edge Microgateway. Consulta ¿Qué APIs de administración usa Edge Microgateway?.

3.1.1

El jueves 20 de febrero, lanzamos las siguientes correcciones y mejoras en Edge Microgateway.

Versiones de los componentes:

En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.1.1. Ten en cuenta que, como cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión del producto principal:

microgateway core config complementos edgeauth
3.1.1 3.1.1 3.1.1 3.0.13 3.0.9

Mejoras y correcciones de errores:

  • 146069701: Se solucionó un problema por el cual el módulo microgateway-core no respetía las variables de entorno HTTP_PROXY y HTTPS_PROXY. Con este cambio, la configuración del proxy en el archivo de configuración YAML, si se especifica, ahora se ignora; solo se usan las variables de entorno para especificar el proxy.

    Si deseas especificar la configuración de proxy en el archivo de configuración, también debes especificar una variable HTTP_PROXY que mencione la misma URL de 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. (Valor predeterminado: 5 segundos más que el tiempo establecido con edgemicro.keep_alive_timeout. Esta configuración predeterminada evita que los balanceadores de cargas o los proxies pierdan la conexión por error).

  • 149278885: Se agregó una función nueva que te permite establecer el tiempo de espera de la API de destino a nivel de proxy de 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 Edge Microgateway.

Versiones de los componentes:

En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.1.0. Ten en cuenta que, como cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión del producto principal:

microgateway core config complementos edgeauth
3.1.0 3.1.0 3.1.0 3.0.12 3.0.9

Mejoras y correcciones de errores:

  • 144187500: Se registrará un evento nuevo a nivel de WARN cuando se active la marca quotas.failOpen. Esta marca se activa si se produce un error de procesamiento de cuota o si la solicitud de “aplicación de cuota” a Edge no puede actualizar los contadores de cuotas remotas. En este caso, la cuota se procesará en función de los recuentos locales solo hasta que se produzca la próxima sincronización correcta de la cuota remota. Anteriormente, este evento solo se registraba cuando el nivel de registro se configuraba como 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 corrigió un problema por el que las transacciones nuevas o en tránsito se veían afectadas cada vez que Edge Microgateway detectaba un cambio en un proxy de API. Ahora, cuando se realiza un cambio en un proxy, Edge Microgateway actualiza la caché y se reinician los nodos trabajadores. Con este cambio, las transacciones en tránsito y las nuevas llamadas a la API que se envían a la micropuerta de enlace no se ven afectadas.
  • 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 el "Rendimiento del proxy de API" en las estadísticas de Edge y los eventos de registro sourceResponse/targetResponse de Edge Microgateway. Ahora, la latencia en los eventos de registro de Edge Analytics y Microgateway está alineada.
  • Cambios relacionados con la lógica de coincidencia de patrones:
    • 147027862: Se actualizó el complemento de OAuth para admitir los siguientes patrones de coincidencia de ruta de acceso de recursos, como se especifica en los productos de API:
      • /{literal}**
      • /{literal}*
      • Cualquier combinación de los dos patrones anteriores

      Con este cambio, el complemento de Edge Microgateway ahora sigue la misma coincidencia de patrones que Apigee Edge, como se explica en Configura el comportamiento de una ruta de acceso al recurso '/', '/*' y '/**'.

    • 145644205: Se actualizó la lógica de coincidencia de patrones del complemento apiKeys para que coincida con el complemento de OAuth.
  • 143488312: Se corrigió un problema por el que los espacios iniciales o finales en el parámetro de ID de cliente hacían que la creación de la lista de productos JWT quedara vacía para el token OAuth y las solicitudes de clave de API.
  • 145640807 y 147579179: Se agregó una función nueva que permite que una instancia especial de Edge Microgateway, llamada “el sincronizador”, recupere datos de configuración de Apigee Edge y los escriba en una base de datos local de Redis. Luego, se pueden configurar otras instancias de 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 detalles, consulta Cómo usar el sincronizador.

    Actualmente, la función de sincronizador es compatible con Redis 5.0.x.

Versión 3.0.x

Correcciones de errores y mejoras v.3.0.x

3.0.10

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

Versiones de los componentes:

En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.0.10. Ten en cuenta que, como cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión del producto principal:

microgateway core config complementos edgeauth
3.0.10 3.0.8 3.0.8 3.0.11 3.0.8

Mejoras y correcciones de errores:

  • 142677575: Se actualizó una función a fin de que la coincidencia de patrones para las rutas de acceso a 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 Configura el comportamiento de una ruta de acceso a recursos '/', '/*' y '/**'.

    Nota: Si usas un patrón de recursos compuestos, 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 de desarrollador del proxy, como se ilustra en la siguiente captura de pantalla:

    alt_text

    Nota: La propiedad de configuración features.isSingleForwardSlashBlockingEnabled, como se describe en Configurar el comportamiento de una ruta de acceso a un recurso "/", "/*" y "/**", no es compatible con Edge Microgateway.

  • 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 de 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 función nueva que te permite usar Redis como almacén de respaldo de cuotas. Si useRedis es verdadero, se usa el módulo volos-quota-redis. Cuando es verdadero, la cuota se restringe solo a las instancias de Edge Microgateway que se conectan a Redis. Si es falso, el módulo volos-quota-apigee se usa como almacén de copia de seguridad y el contador de cuotas es global. Para obtener más información, consulta Opciones de configuración de la cuota. Por ejemplo:
    edgemicro:
    ...
    quotas:
      useRedis: true
      redisHost: localhost
      redisPort: 6379
      redisDb: 1
    .
  • 140574210: El tiempo de vencimiento predeterminado para los tokens generados por el proxy edgemicro-auth se cambió de 108,000 milisegundos (1.8 minutos) a 1,800 segundos (30 minutos).
  • 143551282: Para admitir organizaciones habilitadas para SAML, se actualizó el comando edgemicro genkeys a fin de que incluya 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 contraseña. Para obtener más información, consulta Cómo generar claves.

3.0.9

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

Versiones de los componentes:

En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.0.9. Ten en cuenta que, como cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión del producto principal:

microgateway core config complementos edgeauth
3.0.9 3.0.7 3.0.7 3.0.10 3.0.7

Mejoras y correcciones de errores:

  • 141989374: se agregó una nueva función de "fail open" al complemento de cuota. Cuando esta función está habilitada, si se produce un error de procesamiento de cuota o si la solicitud de “aplicación de cuota” a Edge no puede actualizar los contadores de cuotas remotas, la cuota se procesará en función de los recuentos locales solo hasta que se produzca la próxima sincronización de cuota remota. En ambos casos, se establece una marca quota-failed-open en el objeto de la solicitud.

    Para habilitar la función de "fail open" de la cuota, establece la siguiente configuración:

    quotas :
     failOpen : true

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

  • 142093764: Se realizó un cambio de configuración en el proxy edgemicro-auth para evitar excesos de cuota. El cambio consiste en 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 función nueva para habilitar el registro del ID de MP (procesador de mensajes) en las respuestas de cuota. Para utilizar 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 configura useDebugMpId, las respuestas de cuota de Edge contendrán el ID de MP y Edge Microgateway registrará. Por ejemplo:

    {
        "allowed": 20,
        "used": 3,
        "exceeded": 0,
        "available": 17,
        "expiryTime": 1570748640000,
        "timestamp": 1570748580323,
        "debugMpId": "6a12dd72-5c8a-4d39-b51d-2c64f953de6a"
    }

3.0.8

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

Versiones de los componentes:

En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.0.8. Ten en cuenta que, como cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión del producto principal:

microgateway core config complementos edgeauth
3.0.8 3.0.6 3.0.6 3.0.9 3.0.6

Mejoras y correcciones de errores:

  • 140025210: se agregó una nueva función de "fail open". 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 una llamada correcta de verificación de la clave de API al proxy edgemicro-auth.

    La función te permite establecer un período de gracia en el que el token anterior permanecerá en la caché y se volverá a usar hasta que venza el período de gracia. La función permite que Edge Microgateway continúe procesando solicitudes en caso de una falla temporal de conexión. Cuando se reanuda la conectividad y se realiza una llamada de verificación de clave de API exitosa, se recupera un JWT nuevo y se reemplaza el anterior en la caché.

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

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

      Por ejemplo:

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

      En este ejemplo, el token anterior se usará durante 5 segundos si no se puede actualizar debido a un problema de conectividad. Después de 5 segundos, se mostrará un error de autenticación.

  • 141168968: Se realizó una actualización para incluir correlation_id en los resultados de registro de todos los complementos. 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 requerir que se verifiquen la clave y el secreto de Edge Microgateway en cada solicitud de verificación de la clave de API. Edge Microgateway se actualizó para que siempre envíe la clave y el secreto en cada solicitud de verificación de la clave de API. Este cambio evita que los clientes obtengan un JWT con solo una clave de API.
  • 140090250: Se realizó una actualización a fin de agregar registros de diagnóstico para el procesamiento de la cuota. Con este cambio, ahora es posible correlacionar el resultado del registro de quoto con el resto de los registros de Edge Microgateway.

3.0.7

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

Versiones de los componentes:

En la siguiente tabla, se enumeran los números de versión de los proyectos de componentes individuales asociados con Edge Microgateway 3.0.7. Ten en cuenta que, como cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión del producto principal:

microgateway core config complementos edgeauth
3.0.7 3.0.5 3.0.5 3.0.8 3.0.5

Mejoras y correcciones de errores:

  • 140075602: Se actualizó el complemento de OAuth para mostrar 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 del tipo 200. Ahora, para cualquier respuesta de mensaje que no tenga el estado 200, se mostrará el código exacto 4xx o 5xx, 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 Edge Microgateway. Por ejemplo:
    edge_config:
      quotaUri: https://%s-%s.apigee.net/edgemicro-auth

    En la versión 3.0.7, se actualizó edgemicro-auth para aceptar esta nueva configuración. Para usar la propiedad quotaUri, debes actualizar al proxy edgemicro-auth más reciente. Para obtener más información, consulta Actualiza el proxy perimetralmicro-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 “organización” del identificador de cuota. Debido a que el extremo de cuota reside en la organización del cliente, el identificador de cuota ya no es necesario.
  • 140823165: El siguiente nombre de propiedad:
    edgemicro:
        keepAliveTimeout

    se documentó incorrectamente 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 por el cual se producía un recuento de cuota incorrecto si una app de desarrollador tenía varios productos. Ahora la cuota se aplica correctamente a cada producto en una app que tiene varios productos. Se usa la combinación de "appName + productName" como identificador de cuota.

3.0.6

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

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

    Por ejemplo:

    edgemicro:
      keep_alive_timeout: 600
  • 140090623: Se agregó una nueva propiedad de configuración, quotaUri. Configura esta propiedad 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 Edge Microgateway. Por ejemplo:
    edge_config:
      quotaUri: https://your_org-your_env.apigee.net/edgemicro-auth
    

    Para usar esta función, primero debes implementar la versión más reciente del proxy edgemicro-auth en tu organización. Para obtener más detalles, consulta Actualiza el proxy perimetralmicro-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 configura como false, no se imprimirá el seguimiento de pila en los registros.

3.0.5

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

Errores corregidos
  • 139005279: Se solucionó un problema por el que el comando edgemicro status no mostraba la cantidad correcta de procesos trabajadores.
  • 138437710: Se corrigió un problema en la clase ExitCounter que impedía que se escribiera el registro adecuado.
Mejoras generales en los mensajes de registro
  • 139064652: Se agregó la capacidad de agregar niveles de registro trace y debug para registros de eventos y del sistema. Por ahora, solo se agregó la capacidad de agregar estos niveles de registro. Por el momento, los niveles de registro disponibles son info, warn y error.
  • 139064616: el resultado del registro se estandarizó para todas las instrucciones de registro de la consola. Las instrucciones de registro de la consola ahora incluyen estos atributos:
    • Marca de tiempo
    • Nombre del componente
    • ID de proceso
    • Mensaje de registro de la consola
Mejoras en la clave JWT y los mensajes de registro secreto
  • 138413755: Se mejoró la clave JWT y los mensajes de registro relacionados con el secreto de estos comandos de la CLI: cert, verify,
Mejoras en el tiempo de espera y la conexión rechazadas en los mensajes de error
  • 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 para errores de "conexión rechazada".

3.0.4

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

  • 134445926: Se realizaron mejoras en la autenticación interna de Edge Microgateway.
  • 137582169: se solucionó un problema por el que se iniciaban procesos no deseados. Los procesos adicionales hicieron que los complementos se volvieran a cargar y usaran memoria excesiva. Edge Microgateway ahora mantiene la cantidad de procesos dentro del límite esperado.
  • 137768774 (mejoras en los mensajes de registro):
    • Se limpiaron los registros de transacciones (solicitudes).
    • Se agregaron más mensajes de registro donde fuera necesario.
    • Se movieron los mensajes de registro de transacciones (solicitud) del resultado de la consola al archivo de registro relevante.
    • Se actualizaron los registros de la consola para usar una función de registro centralizado.
  • 138321133, 138320563: Cambio interno básico en el búfer de cuota para habilitar mejoras de cuota futuras.

3.0.3

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

  • Mejoras de Logging: Los registros del 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-DDTHH:mm:ss.sssZ).
    • Nivel de registro (error, advertencia o información).
    • Nombre de host: el nombre de host solicitante del encabezado de la solicitud.
    • ID del proceso: Si ejecutas un clúster de procesos de Node.js, este es el ID del proceso en el que se produjo el registro.
    • Nombre de la organización de Apigee.
    • Nombre del entorno de la organización.
    • Nombre del proxy de API.
    • Dirección IP de cliente.
    • ID de cliente.
    • ID de correlación (sin definir).
    • Nombre del componente de Edge Microgateway.
    • Mensaje personalizado: Algunos objetos pueden imprimir información adicional que se pasa a esta propiedad de error.
    • Método de solicitud (si es una solicitud HTTP).
    • Código de estado de respuesta (si es una solicitud HTTP).
    • Mensaje de error
    • Código de error: Si un objeto incluye un código de error, se muestra en esta propiedad.
    • Tiempo transcurrido.
    • Marcador de fin de línea del sistema operativo.

    Los valores de propiedad nulos dan como resultado corchetes vacíos, [].

    En el siguiente ejemplo, se muestra el formato de 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 filtraron según el entorno. Se solucionó este problema. (135038879).
  • Varias integraciones de prueba funcionales y mejoras en la calidad de 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 en el código para cumplir con los estándares de calidad que solicitan los usuarios. Abordamos las advertencias y los errores 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 2 de julio para microgateway-config, microgateway-core, microgateway-plugins y microgateway. Todos los módulos con cambios en la calidad de código se probaron con herramientas internas que verifican la ejecución de Edge Microgateway para casos prácticos de clientes.

3.0.1

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

  • 134834551: Cambia las versiones compatibles de Node.js para Edge Microgateway
    (versiones 8 y 12 compatibles con Node.js; las versiones 7, 9 y 11 son experimentales)
  • 134751883: Edge Microgateway falla cuando se vuelve a cargar con carga
  • 134518428: El extremo de productos para Edge Microgateway muestra 5XX si el patrón de filtro es incorrecto
  • 135113408: los trabajadores deben reiniciarse si finalizan de forma inesperada.
  • 134945852: No se usa tokenCacheSize en el complemento de OAuth.
  • 134947757: Establecer cacheTTL en el complemento de OAuth
  • 135445171: El cálculo de GracePeriod en OAuth no es correcto en OAuth.
  • Usa el módulo memorizado que se proporciona con la instalación de Edge Microgateway
  • 135367906: Auditoría de seguridad

Versión 2.5.x

Nuevas funciones y mejoras v.2.5.x

(Corregido 2.5.38, 07/06/2019)

Los JWT con formato incorrecto pueden provocar que los trabajadores fallen cuando usan la caché de tokens. Se corrigió en el módulo microgateway-plugins de Edge. (b/134672029)

Agrega la opción de CLI edgemicro-cert -t(agregada 2.5.37).

La opción edgemicro cert -t te permite especificar un token de OAuth para autenticar las APIs de administración. Consulta también Administra certificados.

(Se agregó 2.5.35) Se agregó compatibilidad para depurar Edge Microgateway con edgemicroctl.

Puedes usar la marca mgdebug con edgemicroctl. Consulta también las tareas de integración de Kubernetes.

(Se agregó 2.5.35) Habilita una compilación de Windows para edgemicroctl.

(Se agregó 2.5.31) Nueva API de Edgemicro-auth/token

Se agregó una nueva API de Edgemicro-auth/token que te permite pasar el cliente/secreto como un encabezado de autorización básica codificado en Base64 y el otorgan_type como un parámetro de formulario. Consulta Obtén tokens del portador directamente.

(Corregido 2.5.31) La configuración privada no respeta la marca del token

Se solucionó un problema en el que la configuración de Edge Microgateway para usar un token de acceso de OAuth2 en Edge para la nube privada no funcionaba de forma correcta (no se respetó el token).

Docker: Compatibilidad para usar certificados autofirmados

(Agregada 2.5.29) Si usas una autoridad certificadora (CA) que Node.js no es de confianza de forma predeterminada, puedes usar el parámetro NODE_EXTRA_CA_CERTS cuando ejecutes un contenedor de Docker con Edge Microgateway. Para obtener más información, consulta Cómo usar una CA que Node.js no sea de confianza.

Docker: Compatibilidad con TLS

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

En los siguientes ejemplos, se explica en detalle cómo establecer estos parámetros de configuración 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 luego se hace referencia en el archivo de configuración de Edge Microgateway.

Docker: Compatibilidad con proxies de solicitudes

Si ejecutas Edge Microgateway en un contenedor de Docker, puedes usar estas opciones para controlar el comportamiento del proxy cuando esta se ejecuta detrás de un firewall (agregado 2.5.27):

  • HTTP_PROXY
  • HTTPS_PROXY
  • NO_PROXY

Para obtener más información, consulta Ejecuta Edge Micro como un contenedor de Docker.

Docker: Instrucciones actualizadas del complemento

Si ejecutas Edge Microgateway en un contenedor de Docker, ahora tienes dos opciones para implementar complementos (agregado 2.5.27). Una opción, que usa un punto de activación de Docker, es nueva. La otra opción existía antes y, básicamente, no se modificó. Sin embargo, el Dockerfile se actualizó. Para obtener más información, consulta los siguientes vínculos:

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

(Se agregó 2.5.27) Puedes usar un token de OAuth con el comando upgradekvm. Para obtener más detalles, consulta Actualiza el KVM.

Segrega APIs en Edge Analytics

(Se agregó 2.5.26) Las nuevas marcas del complemento de estadísticas te permiten segregar una ruta de API específica para que aparezca como un proxy independiente en los paneles de Edge Analytics. Por ejemplo, puedes segregar las APIs de verificación de estado para evitar confundirlas con llamadas reales a la API. Para obtener más información, consulta Excluye rutas de acceso de las estadísticas.

Configura un proxy local

(Agregado 2.5.25) Con un proxy local, no es necesario crear de forma manual un proxy compatible con la micropuerta de enlace en Apigee Edge. En su lugar, la micropuerta de enlace usará la ruta base del proxy local. Para obtener más información, consulta Usa el modo de proxy local.

Cómo usar el modo independiente

(Se agregó 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 Ejecuta Edge Microgateway en modo independiente.

Revocación de claves

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

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

Compatibilidad con Docker

Ahora puedes descargar la versión más reciente de Edge Microgateway como una imagen de Docker (agregada 2.5.19):

docker pull gcr.io/apigee-microgateway/edgemicro:latest

Asistencia de Kubernetes

Puedes implementar Edge Microgateway como servicio o como una puerta de enlace de archivo adicional frente a servicios implementados en un clúster de Kubernetes (agregado 2.5.19). Consulta Integra Edge Microgateway en la descripción general de Kubernetes.

Compatibilidad con la opción de Nodelay de TCP

(Se agregó 2.5.16) Se agregó un nuevo parámetro de configuración, nodelay, a la configuración micro de Edge.

De forma predeterminada, las conexiones TCP usan el algoritmo de Nagle para almacenar datos en búfer antes de enviarlos. Si se configura nodelay en true, se inhabilita este comportamiento (los datos activan de inmediato los datos cada vez que se llama a socket.write()). Consulta también la documentación de Node.js para obtener más detalles.

Para habilitar nodelay, edita el archivo de microconfiguración de Edge 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 Forever Monitoring

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

ParámetroDescripción
-f, --fileEspecifica la ubicación del archivo forever.json.
-a, --actionstart o stop La configuración predeterminada es start.

Ejemplos:

Para ello, sigue estos pasos:

edgemicro forever -f ~/mydir/forever.json -a start

Para detener la opción Forever, sigue estos pasos:

edgemicro forever -a stop

Rotación de claves JWT

Se agregó una función nueva que te permite rotar los pares de claves públicas/privadas que se usan a fin de generar los tokens JWT que se usan para la seguridad de OAuth en Edge Microgateway. Consulta Rotar claves JWT.

Cómo filtrar proxies de API descargados

De forma predeterminada, Edge Microgateway descarga todos los proxies de la organización de Edge que comienzan con el prefijo de nombre “edgemicro_”. Puedes cambiar esta configuración predeterminada para descargar proxies cuyos nombres coincidan con un patrón. Consulta Filtra 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 del producto permite que una clave de API asociada a ese producto funcione con cualquier proxy implementado en tu organización. A partir de la versión 2.5.4, Edge Microgateway es compatible con 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 manera programática. Consulta Supervisión permanente.

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

Si ejecutas varias instancias de Edge Microgateway, puedes administrar sus configuraciones desde una sola ubicación. Para ello, especifica un extremo HTTP en el que Edge Micro pueda descargar su archivo de configuración. Consulta Especifica un extremo de archivo de configuración.

Compatibilidad con la opción CLI por siempre

(Se agregó 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 tenía que estar en el directorio raíz de Edge Microgateway.

Por ejemplo:

edgemicro forever ~/mydir/forever.json

Incorporación de la opción configUrl para volver a cargar el comando

(Se agregó 2.5.8) Ahora puedes usar la opción --configUrl o -u con el comando edgemicro reload.

Período de gracia para las discepciones de tiempo de JWT

(Agregado 2.5.7) Un atributo gracePeriod en la configuración de OAuth ayuda a evitar errores causados por pequeñas discrepancias entre el reloj de tu sistema y las horas Not before (nbf) o Issued at (iat) especificadas en el token de autorización JWT. Establece este atributo en la cantidad de segundos para permitir estas discrepancias. Consulta los atributos de OAuth.

(Agregado 2.5.7) Un atributo gracePeriod en la configuración de OAuth ayuda a evitar errores causados por pequeñas discrepancias entre el reloj de tu sistema y las horas Not before (nbf) o Issued at (iat) especificadas en el token de autorización JWT. Establece este atributo en la cantidad de segundos para permitir estas discrepancias. Consulta los atributos de OAuth.

Errores corregidos v2.5.x

  • (Error #236) Se corrigió un error de ortografía al borrar la caché.
  • (Error #234) Vuelve a cargar las fallas de Edge Microgateway 2.5.35.
  • (Error 135) Error "seguro" de la referencia del host virtual no válida cuando se usa la opción -v. Esta corrección modifica el proxy de Edgemicro-auth antes de la implementación para garantizar que los hosts virtuales coincidan exactamente con lo que se especifica en la marca “-v”. Además, puedes especificar cualquier cantidad y cualquier nombre para el host virtual (que ya no está restringido a la configuración predeterminada y segura).
  • (Error 141) El comando edgemicro refresh no admite la opción del archivo de configuración -c. Ya corregimos el problema.
  • (Error 142) Edge Microgateway reclama sobre las criptomonedas obsoletas en el momento de la instalación. Ya corregimos el problema.
  • (Error 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 valida con los proxies de API y el URI de recurso en OAuth. Este problema ya se solucionó.
  • (Problema de la comunidad de Apigee: https://community.apigee.com/questions/47846/microgateway-not-working-with-oauth.html) Microgateway no funciona con OAuth. Ya corregimos el problema.
  • Se corrigió pidPath en Windows.
  • (Error 157) Se corrigió el problema que causó el siguiente mensaje de error: No se definió ReferenceError: deployProxyWithPassword.
  • (Error 169) Actualiza las dependencias de Node.js (auditoría de npm)
  • El proxy edgemicro-auth ahora usa las políticas de JWT de Edge. El proxy ya no depende de Node.js para proporcionar compatibilidad con JWT.

Versión 2.4.x

Nuevas funciones y mejoras v.2.4.x

1. Establece un alias personalizado para el proxy de autenticación perimetral (PR 116)

Puedes cambiar la ruta base predeterminada para el proxy edgemicro-auth. De forma predeterminada, la ruta base es /edgemicro-auth. Para cambiarlo, usa la marca -x en el comando edgemicro configure.

Ejemplo:

edgemicro configure -x /mypath …


2. Compatibilidad con comodines para las rutas 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 a los clientes llamar a https://[host]/team/blue/members y https://[host]/team/green/members sin que sea necesario crear proxies de API nuevos para brindar asistencia a equipos nuevos. Ten en cuenta que /**/ no es compatible.

Importante: Apigee NO admite el uso de un comodín “*” como el primer elemento de una ruta base. Por ejemplo, NO se admite /*/buscar.

3. Se agregó la ruta de configuración personalizada a la CLI para la configuración de la nube privada (PR 99)

De forma predeterminada, el archivo de configuración de microgateway se encuentra en ./config/config.yaml. En los comandos init, configure and start, ahora puedes especificar una ruta de configuración personalizada en la línea de comandos mediante las marcas -c o --configDir. Se solucionó un problema en el que no se reconoció un directorio de configuración personalizado para las instalaciones de la nube privada.

Ejemplo:

edgemicro start -o docs -e test -k abc123 -s xyz456 -c /home/microgateway/config

4. Respeta las variables *_PROXY (PR 61)

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

Opción 1:

La primera opción es configurar la opción Edgemicro: proxy_tunnel como verdadera en el archivo de configuración de microgateway:

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

Cuando proxy_tunnel es true, Edge Microgateway usa el método HTTP CONNECT para túnel las solicitudes HTTP en una sola conexión TCP. (Lo mismo sucede si las variables de entorno para configurar el proxy están habilitadas para TLS).

Opción 2:

La segunda opción es especificar un proxy y establecer proxy_tunnel en false en el archivo de configuración de microgateway. Por ejemplo:

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

En este caso, puedes configurar las siguientes variables para controlar los hosts de cada proxy HTTP que deseas usar o qué hosts no deben controlar los proxies de Edge Microgateway: HTTP_PROXY, HTTPS_PROXY y NO_PROXY. Puedes configurar NO_PROXY como una lista delimitada por comas de dominios a los que Edge Microgateway no debe usar mediante 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 lo siguiente:

https://www.npmjs.com/package/request#controlling-proxy-behaviour-using-environment-variables


5. Establecer un tiempo de espera personalizado para las solicitudes de destino (PR 57)

Puedes establecer un tiempo de espera personalizado para las solicitudes de destino con esta configuración:

edgemicro:
    request_timeout: 10

El tiempo de espera se establece en segundos. Si se agota el tiempo de espera, Edge Microgateway 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 las versiones anteriores, los mensajes de estado enviados desde el destino se anulaban con los valores predeterminados de Node.js.

7. El encabezado X-Forwarded-For puede establecer client_ip para 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 Edge Microgateway.

8. Cambios en el complemento de OAuth

El complemento de OAuth admite la verificación de clave de API y la verificación de tokens de acceso de OAuth. Antes de este cambio, el complemento aceptaba cualquiera de las dos formas de seguridad. Con este cambio, solo puedes permitir uno de esos modelos de seguridad (y mantener la retrocompatibilidad).

Los complementos de OAuth agregan dos marcas nuevas:

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

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

Establece 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 autenticación perimetral (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 las claves en el mapa de clave-valor (KVM) encriptado de Edge.

10. Reescritura de la URL de destino predeterminada en un complemento (PR 74)

También puedes anular el puerto del extremo de destino y elegir entre HTTP y HTTPS. Modifica estas variables en el código de tu complemento: req.targetPort y req.targetSecure. Para elegir HTTPS, configura req.targetSecure en true; para HTTP, configúralo como false. Si configuras req.targetSecure como verdadero, consulta esta conversación para obtener más información.

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

Puedes configurar Edge Microgateway para usar un token de OAuth para la autenticación en lugar de el nombre de usuario y la contraseña. Para utilizar un token de OAuth, utiliza el siguiente parámetro en el comando edgemicro configure:

-t, --token <token>

Por ejemplo:

edgemicro configure -o docs -e test -t <your token>

Errores corregidos v2.4.3

  • Se solucionó un problema por el que una organización pagada debía ejecutar correctamente el proxy de Edgemicro-auth Ahora, también puedes usar Edge Microgateway con organizaciones de prueba. (PR 5)
  • Se solucionó un problema en el que la transmisión no terminaba de procesar datos, pero los controladores finales se ejecutaban de todos modos. Esto provocó que se enviara una respuesta parcial. (PR 71)
  • Se solucionó un problema en el que no se reconocía un directorio de configuración personalizado para las instalaciones de la nube privada. (PR 110)
  • Se corrigió un problema con SSL bidireccional entre el cliente y Edge Microgateway. (PR 70)
  • Se solucionó un problema por el que se requería una barra final en la ruta base del proxy para que la verificación de la clave de API funcionara correctamente. Ahora, no se necesita una barra al final de la ruta base. (PR 48)

Versión 2.3.5

Nuevas funciones y mejoras v.2.3.5

Filtrado de proxy

Puedes filtrar qué proxies compatibles con micropuertas de enlace procesará una instancia de Edge Microgateway. Cuando se inicia Edge Microgateway, se descargan todos los proxies compatibles con micropuertas de enlace de la organización a la que está asociado. 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 configuración nueva te permite evitar que se muestre la información de la ruta de la solicitud en Edge Analytics. Agrega el siguiente código a la configuración de la micropuerta de enlace para enmascarar el URI de la solicitud o la ruta 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

Nuevas funciones y mejoras v.2.3.3

A continuación, se indican las nuevas funciones y mejoras para esta versión.

Inhabilita el sondeo de cambio automático

Puedes desactivar el sondeo de cambios automático si estableces este atributo en la configuración de la micropuerta de enlace:

disabled_config_poll_interval: true

De forma predeterminada, el sondeo periódico detecta los cambios realizados en Edge (cambios en los productos, proxies compatibles con micropuertas de enlace, etc.) y en el archivo de configuración local. El intervalo de sondeo predeterminado es de 600 segundos (cinco minutos).

Cómo reescribir las 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 del complemento

Se agregó una nueva firma de función de complemento que proporciona la respuesta objetivo como argumento. Esta adición permite que los complementos accedan con mayor facilidad a la respuesta objetivo.

function(sourceRequest, sourceResponse, targetResponse, data, cb)

Resultado de registro predeterminado simplificado

De forma predeterminada, el servicio de registro ahora omite el JSON de los proxies, productos y JWT descargados. Puedes cambiar a la configuración predeterminada para generar estos objetos mediante la configuración de DEBUG=* cuando inicies Edge Microgateway. Por ejemplo:

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

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

De forma predeterminada, el archivo de configuración de microgateway se encuentra en ./config/config.yaml. En los comandos de inicio, configuración e inicio, ahora puedes especificar una ruta de acceso 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

Errores corregidos v2.3.3

  • Se corrigió una fuga de memoria que se producía durante solicitudes o respuestas grandes.
  • Se corrigió el orden de ejecución del complemento. Ahora se comporta como se explica en la documentación.
  • El complemento de solicitud de acumulación ya no se bloquea para solicitudes GET.
  • Se corrigió un problema en el complemento de acumulación de respuestas en el que la falta de 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 mediante la descarga de 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 v.2.3.1

A continuación, se indican las nuevas funciones y mejoras para esta versión.

Filtrar proxies

Una configuración nueva te permite filtrar los proxies que Edge Microgateway cargará al inicio. Antes, la micropuerta de enlace cargaba todos los proxies compatibles con micropuertas de enlace (proxies llamados “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 función nueva te permite filtrar esta lista de proxies para que Edge Microgateway solo cargue los que especifiques. Solo agrega el elemento proxies al archivo de configuración de microgateway de la siguiente manera:

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

Por ejemplo, supongamos que tienes 50 proxies edgemicro_* en tu organización o entorno de Edge, incluidos los llamados edgemicro_foo y edgemicro_bar. Puedes indicarle a la micropuerta de enlace que use solo estos dos proxies, como los siguientes:

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 micropuertas de enlace descargados de la organización o entorno de Edge generará un error.

Establece encabezados de solicitud de destino en complementos

Existen dos patrones básicos que debes considerar si deseas agregar o modificar encabezados de solicitud de destino: uno en el que la solicitud entrante contiene datos (como en una solicitud POST) y otro en el que no lo hace (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 las versiones anteriores de Edge Microgateway, no era posible configurar los encabezados de destino de manera confiable en este caso.

La clave para este patrón es, primero, acumular todos los datos entrantes del cliente. Luego, en la función onend_request(), usa la nueva función request.setOverrideHeader(name, value) para personalizar los encabezados.

A continuación, puedes ver un ejemplo de código de complemento para ver cómo hacerlo. Los encabezados configurados 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; se documentó antes 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 en la configuración de Edge Microgateway, puedes cargarla sin perder ningún mensaje. Con este cambio, Edge Microgateway siempre se inicia en modo de clúster, y se quitó la opción --cluster del comando edgemicro start.

Además, se agregaron tres comandos de CLI nuevos. Debes ejecutar estos comandos desde el mismo directorio en el que se ejecutó el comando de inicio de Edgemicro:

  • edgemicro status: Comprueba 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.

Recarga de configuración automática sin tiempo de inactividad

Edge Microgateway carga una configuración nueva de forma periódica y ejecuta una recarga si algo cambió. El sondeo detecta cualquier cambio realizado en Edge (cambios en los productos, proxies compatibles con micropuertas de enlace, etc.) y en el archivo de configuración local. El intervalo de sondeo predeterminado es de 600 segundos (cinco minutos). Puedes cambiar el valor predeterminado en el archivo de configuración de microgateway de la siguiente manera:

edgemicro:
    config_change_poll_interval: [seconds]

Se agregó información de la versión a la CLI

Se agregó una marca --version a la CLI. Para obtener la versión actual de Edge Microgateway, usa lo siguiente:

edgemicro --version

Nuevas opciones SSL del servidor de Edge Microgateway

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

Opción Descripción
pfx Ruta de acceso a un archivo pfx que contiene la clave privada, el certificado y los certificados de CA del cliente en formato PFX.
passphrase Una string que contiene la frase de contraseña para la clave privada o PFX.
ca Es la ruta de acceso a un archivo que contiene una lista de certificados de confianza en formato PEM.
ciphers Es una string que describe los cifrados que se usarán separados por un “:”.
rejectUnauthorized Si es verdadero, el certificado del servidor se verifica con la lista de CA proporcionadas. Si la verificación falla, se mostrará un error.
secureProtocol Es el método SSL que se usará. Por ejemplo, SSLv3_method para forzar SSL a la versión 3.
servername El nombre del servidor de la extensión TLS de SNI (indicación de nombre del servidor).

Envía archivos de registro a stdout

Puedes enviar datos de registro a la salida estándar con una nueva configuración:

edgemicro:
  logging:
    to_console: true  

Consulta Administra los archivos de registro.

Versión 2.1.2

A continuación, se indican las nuevas funciones y mejoras para 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 indican las nuevas funciones y mejoras para esta versión.

Implementa el proxy de autenticación compatible con varias plataformas

Se realizó una mejora a fin de que el comando utilizado para implementar el proxy de autorización de Edge Microgateway en Edge sea compatible con los sistemas Windows.

Versión 2.1.0

Nuevas funciones y mejoras v.21.0

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

Especifica las opciones de SSL/TLS del cliente

Puedes especificar opciones de cliente para conexiones SSL/TSL en destinos mediante un conjunto nuevo de opciones de configuración. Consulta Usa opciones 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 mediante la descarga de 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 v.2.0.11

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

Cómo especificar un puerto en el inicio

El comando de inicio te permite especificar un número de puerto para anular el puerto especificado en el archivo de configuración. También puedes especificar un número de puerto con la variable de entorno PORT. Consulta el comando de inicio para obtener más detalles.

Cómo conservar los encabezados de autenticación (opcional)

La configuración nueva, keepAuthHeader, te permite conservar el encabezado de autorización enviado en la solicitud. Si se configura como verdadero, el encabezado de Auth se pasa al destino. Consulta los atributos de OAuth.

Capacidad de usar un servicio de autorización personalizado

Si deseas usar tu propio servicio personalizado para administrar la autenticación, cambia el valor authUri en el archivo de configuración de Edge Microgateway 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

Edge Microgateway v.2.0.4 se lanzó el 25 de mayo de 2016.

Nuevas funciones y mejoras v2.0.4

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

Compatibilidad con rutas de recursos en productos

Edge Microgateway ahora admite rutas de acceso a recursos en los productos. Las rutas de acceso a los recursos te permiten restringir el acceso a las APIs en función del sufijo de la ruta de acceso del proxy. Para obtener detalles sobre cómo crear productos y configurar rutas de recursos, consulta Cómo crear productos de API.

Compatibilidad con la instalación global de npm

Ahora puedes instalar Edge Microgateway con la opción npm -g (global). Para obtener detalles sobre esta opción, consulta la documentación de npm.

Versión 2.0.0

Edge Microgateway v2.0.0 se lanzó el 18 de abril de 2016.

Nuevas funciones y mejoras v.2.0.0

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

Servidor de proceso único

Edge Microgateway ahora es un servidor de proceso único. Ya no usa un modelo de dos procesos en el que un proceso (antes conocido como “agente”) inicia Edge Microgateway, el segundo. La nueva arquitectura facilita la automatización y la creación de contenedores.

Archivos de configuración con espacio de nombres

Ahora, se asignan espacios de nombres a los archivos de configuración mediante la organización y el entorno para que se puedan ejecutar varias instancias de Microgateway 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, 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 Edge Microgateway.

Configuración almacenada en caché

Edge Microgateway usa un archivo de configuración almacenado en caché si se reinicia sin conexión a Apigee Edge.

Modo de clúster

Ahora hay opciones para iniciar Edge Microgateway en modo de clúster. El modo de clúster te permite aprovechar los sistemas de varios núcleos. 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.

Errores corregidos v2.0.0

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

Versión 1.1.2

Edge Microgateway v. 1.1.2 se lanzó el 14 de marzo de 2016.

Nuevas funciones y mejoras v.1.1.2

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

Mejora del rendimiento

Edge Microgateway ahora usa el agente HTTP de Node.js de forma correcta para mejorar la agrupación de conexiones. Esta mejora mejora el rendimiento y la estabilidad general bajo 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 Edge Microgateway.

Errores corregidos v1.1.2

Los siguientes errores se corrigieron en la versión 1.1.2.

Descripción
La solicitud de Java para el proxy perimetralmicro-internal que se usa con Edge local ahora usa el servidor MGMT correcto.
Quita las dependencias de typescript del agente.
Se corrigió el error de la CLI cuando se usaba la opción de implementación eficiente.
Se corrigió la referencia de dependencia lógica de certificados.