Notas de la versión de Edge Microgateway

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

Versión 3.3.x

Correcciones de errores y mejoras v.3.3.x

3.3.3

El 25 de abril de 2024, 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 para los proyectos de componentes individuales asociados con Edge Microgateway 3.3.3. Ten en cuenta que, debido a que cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión principal del producto:

microgateway core config complementos edgeauth
3.3.3 3.3.3 3.3.3 3.3.3 3.2.2

Mejoras y correcciones de errores:

ID del problema Tipo Descripción
315939218 Quitada

Se quitó el complemento de cliente Eureka de Edge Microgateway. La eliminación de esta función no afecta la funcionalidad principal de Edge Microgateway ni la reescritura de las URLs de destino. Para obtener más información, consulta Vuelve a escribir las URLs de destino en los complementos.

283947053 Quitada

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

Solución de problemas de seguridad

  • CVE-2023-0842
  • CVE-2023-26115
  • CVE-2022-25883
  • CVE-2017-20162
  • CVE-2022-31129
  • CVE-2022-23539
  • CVE-2022-23541
  • CVE-2022-23540
  • CVE-2024-21484
  • CVE-2022-46175
  • CVE-2023-45133
  • CVE-2020-15366
  • CVE-2023-26136
  • CVE-2023-26115

3.3.2

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

Versiones de los componentes:

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

microgateway core config complementos edgeauth
3.3.2 3.3.2 3.3.2 3.3.2 3.2.2

Mejoras y correcciones de errores:

ID del problema Tipo Descripción
296187679 Función

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

283947053 Error

Se solucionó un problema en el que Edge Microgateway mostraba el primer producto de API en 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 cual 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 para Edge Microgateway.

Versiones de los componentes:

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

microgateway core config complementos edgeauth
3.3.1 3.3.1 3.3.1 3.3.1 3.2.2

Mejoras y correcciones de errores:

ID del problema Tipo Descripción
220885293 Función

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

231972608 Error

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

233315475 Error

Se solucionó un problema en el que el plugin json2xml mostraba 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 Node.js de la imagen base de Edge Microgateway se actualizó a Node.js 14.

215748732 Función

Se agregó la compatibilidad con la autenticación de tokens 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 información, consulta la Referencia de línea de comandos.

218723889 Actualización del documento

Se actualizó la documentación para incluir un vínculo a los complementos compatibles de Edge Microgateway 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 nuevo archivo ZIP con nombres de archivo configurados como 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 para Edge Microgateway.

Versiones de los componentes:

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

microgateway core config complementos edgeauth
3.3.0 3.3.0 3.3.0 3.3.0 3.2.2

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 fix.

Ejecutar npm audit fix hace que apigeetool se actualice a la versión 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 abordará en una versión futura de Edge Microgateway.

138622990 Función

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 solucionó 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. Antes, 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 de 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 correctamente cómo instalar una versión específica de Edge Microgateway. Consulta Actualiza Edge Microgateway si tienes una conexión a Internet.

215748427 Error Se solucionó un problema por el que el comando arrangekeys 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 para Edge Microgateway.

Versiones de los componentes:

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

microgateway core config complementos edgeauth
3.2.3 3.2.3 3.2.3 3.2.3 3.2.2

Mejoras y correcciones de errores:

ID del problema Tipo Descripción
192416584 Función

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

192799989 Función

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

148062415 Error Se solucionó un problema en el que, en un contexto de contenedor de Docker, Edge Microgateway no se desactivaba 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 bloqueaban durante la actividad de recarga interna de la micropuerta de enlace. Este problema era intermitente y ocurrió en situaciones de alto tráfico. El problema se detectó cuando se usaron 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.

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 prototipos a través de la funcionalidad principal.
CVE-2021-23343 Todas las versiones del análisis de rutas de paquetes son vulnerables a la denegación del servicio de expresiones regulares (ReDoS) mediante las expresiones regulares splitDeviceRe, splitTailRe y splitPathRe. ReDoS muestra la peor complejidad temporal de los polinomios.

3.2.2

El jueves 15 de julio 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 para los proyectos de componentes individuales asociados con Edge Microgateway 3.2.2. Ten en cuenta que, debido a que cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión principal del producto:

microgateway core config complementos edgeauth
3.2.2 3.2.2 3.2.2 3.2.2 3.2.2

Mejoras y correcciones de errores:

ID del problema Tipo Descripción
185323500 Cambiar

El valor expires_in cambió de una cadena a un número entero

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

Para cumplir con el marco de trabajo de autorización de OAuth 2.0 del estándar RFC 6749, 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 Función Configura los resultados del registro para el contenedor de Docker

El parámetro de configuración de Edge Microgateway to_console te permite optar por 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 se envíe información de registro 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 variable nueva, consulta Usa Docker para Edge Microgateway.

183057665 Función Configura las rutas de acceso a 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 Función Se actualizó la imagen de Docker para Edge Microgateway para usar la versión 12.22 de NodeJS. 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 puede agregar o alterar las propiedades de un objeto con “__proto__” mediante las funciones mutate() y merge(). El atributo contaminado se asignará directamente a cada objeto del programa. Esto pondrá en riesgo la disponibilidad del programa y causará 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 reconoce por error que algunas firmas RSA PKCS#1 v1.5 no válidas son válidas. NOTA: No hay ningún ataque práctico conocido.
CVE-2021-23358 El paquete de guion bajo de 1.13.0-0 y antes 1.13.0-2, de 1.3.2 y anteriores a 1.12.1 son vulnerables a la inyección de código arbitrario a través de la función de la plantilla, en especial cuando una propiedad de variable se pasa como argumento, ya que no se depura.
CVE-2021-29469 Node-redis es un cliente de Redis para Node.js. En versiones anteriores a la 3.1.1, cuando un cliente se encontraba en modo de supervisión, la regex que se usaba para detectar los mensajes de supervisión podía causar un retroceso exponencial en algunas cadenas. Este problema podría generar una denegación del servicio. El problema tiene el parche en la versión 3.1.1.
CVE-2020-8174 La imagen de Docker se actualizó para utilizar 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 para los proyectos de componentes individuales asociados con Edge Microgateway 3.2.1. Ten en cuenta que, debido a que cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión principal del producto:

microgateway core config complementos edgeauth
3.2.1 3.2.1 3.2.1 3.2.1 3.2.1

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 hacían que las aplicaciones fallaran.

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

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

179971737 Error Se solucionó un problema por el que las respuestas de estado 4XX / 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 de códigos 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 Función 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 Set JWT Variables en el proxy edgemicro-auth. Sigue estos pasos para usar esta propiedad a fin de filtrar los productos de API enumerados en el JWT:

  1. Abra 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, usa 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 incluyan 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 a través de variables de entorno son visibles en los argumentos de la línea de comandos del explorador de procesos.

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

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

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

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

El archivo README del complemento apikeys 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 usar el complemento oauth.

179366445 Error Se solucionó un problema en el que se cayó 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 (el valor predeterminado), la carga útil se quita de forma silenciosa antes de que la solicitud se envíe al destino.

Por ejemplo:

edgemicro:
 enable_GET_req_body: true

Según la sección 4.3.1 de RFC 7231: GET, una carga útil de solicitud GET no tiene una semántica definida, por lo que se puede enviar al destino.

3.2.0

El jueves 21 de enero de 2021, lanzamos las siguientes correcciones y mejoras para Edge Microgateway.

Versiones de los componentes:

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

microgateway core config complementos edgeauth
3.2.0 3.2.0 3.2.0 3.2.0 3.2.0

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 el client_id en el objeto de solicitud cuando el token sea válido. Luego, x-api-key estará disponible para los complementos posteriores.
168836123, 172295489, 176462355 y 176462872 Función Se agregó compatibilidad con Node.js 14.
172376835 Error Usa la unidad de tiempo correcta para el extremo /token en el proxy edgemicro-auth.

Se solucionó un problema 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 del tiempo de vencimiento, sino solo la unidad de tiempo. Solo se aplica al campo expires_in en la carga útil de 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, con la unidad de tiempo seconds, siempre se han generado.

Si los clientes dependían del valor expires_in, en milisegundos, para actualizar los tokens antes de que venzan, aplicar esta corrección sin modificar los clientes causaría actualizaciones innecesarias y frecuentes. Estos clientes deberán modificarse para tener en cuenta el cambio de unidad de tiempo y mantener el comportamiento original.

Si los clientes siempre usaron los valores en el token JWT para evaluar el período de actualización del token, no es necesario que los clientes hagan cambios.

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

174640712 Error Agregar el manejo adecuado de datos a los complementos

Se agregó el control adecuado de datos a los siguientes complementos: json2xml, accumulate-request, accumulate-response y header-uppercase. Para obtener más detalles, consulta microgateway-plugins.

Versión 3.1.x

Correcciones de errores y mejoras v.3.1.x

3.1.8

El lunes 16 de noviembre 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 para los proyectos de componentes individuales asociados con Edge Microgateway 3.1.8. Ten en cuenta que, debido a que cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión principal del producto:

microgateway core config complementos edgeauth
3.1.8 3.1.9 3.1.7 3.1.3 3.1.2

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 manejo 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 Establece atributos de configuración con valores de variables de entorno para obtener detalles de la 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 Establece atributos de configuración con valores de variables de entorno para obtener información sobre las limitaciones.

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

El flujo /token en el proxy edgemicro-auth generó JWT sin los permisos de producto correctos definidos en Edge como resultado de dos situaciones diferentes: 1) la carga útil de la solicitud al flujo /token no pasó un parámetro de alcance, o 2) se pasó 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 solucionó un problema en el que el flujo /refresh en el proxy edgemicro-auth generaba un JWT sin apiProductList.

170708611 Error Los permisos de producto de las APIs no están disponibles para los complementos personalizados.

Los permisos del producto de la API no se pusieron a disposición de 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 Función La clave y el secreto se guardan en el archivo de configuración de caché.

La clave y el secreto de Edge Microgateway se estaban guardando en el archivo YAML de configuración de la caché cada vez que se vuelve a cargar o se inicia. En 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 antes en el archivo de configuración de caché, se quitarán.

170708621 Función No se puede inhabilitar el complemento de estadísticas.

En las versiones anteriores de microgateway, 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/socket.

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

3.1.7

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

Versiones de los componentes:

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

microgateway core config complementos edgeauth
3.1.7 3.1.8 3.1.6 3.1.2 3.1.1

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 estadísticas se descartan cuando Apigee Edge rechaza algunos registros de estadísticas.

158618994 Error Demasiadas conexiones a clientes de Redis.

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

Ejecutar Edge Microgateway con Node.js versión 12.13.x o superior dio como resultado el siguiente error cuando se ejecutan 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 los errores del complemento OAuth por 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 un certificado de destino no válido mostró respuestas de error engañosas.

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

La micropuerta de enlace ahora procesa la sección de denegación de forma correcta y respeta el orden de las secciones “permitir” y “denegar”. 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 para Edge Microgateway.

Versiones de los componentes:

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

microgateway core config complementos edgeauth
3.1.6 3.1.7 3.1.5 3.1.1 3.1.1

Mejoras y correcciones de errores:

ID del problema Tipo Descripción
163711992 Función Opciones de ubicación de claves personalizadas y archivos de certificados para el comando de rotar clave.

Para obtener detalles sobre estas nuevas opciones de comando, consulta 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 comando, consulta Rotar claves.

145525133 Característica Alfa Nuevas métricas de complementos

Consulta el archivo README de Nuevas métricas del complemento 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 la ruta base no terminaba con /.

A continuación, se explica con más detalle el comportamiento anterior (que se corrige en 3.1.6):

Supongamos que se configura un proxy con la ruta base /hello/v1 y una ruta de acceso 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 substring 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 pasó a init no se propaga

La configuración de Apigee Edge está disponible en el objeto de configuración para todos los complementos personalizados después de combinarse 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 cuotas. Para obtener más información, consulta Usa un almacén de copias de seguridad de Redis para la cuota.

3.1.5

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

Versiones de los componentes:

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

microgateway core config complementos edgeauth
3.1.5 3.1.6 3.1.4 3.1.0 3.1.0

Mejoras y correcciones de errores:

ID del problema Tipo Descripción
159210507 Función Configuración para excluir el procesamiento del complemento

Se agregó una nueva función de configuración para omitir el procesamiento de complementos para URL especificadas. Si deseas obtener más información, consulta Cómo configurar URLs de exclusión para complementos.

156986819 o 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 o 159688634 Función

Usa valores de variables de entorno en la configuración

Se agregó una función que te permite especificar variables de entorno mediante etiquetas en el archivo de configuración. Las etiquetas de la 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 corrigió un problema de formato de registro.

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

153673257 Error

(Solo Edge para nube privada) Productos con reconocimiento de micropuerta de enlace no extraídos

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

154956890, 155008028 o 155829434 Función Admite el filtrado de productos descargados por atributos personalizados

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

153949764 Error Se solucionó 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 en Edge Microgateway.

Corrección de errores:

Se solucionó 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 las mejoras que se describen en las notas de la versión 3.1.3 se aplican a esta versión.

3.1.3

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

Versiones de los componentes:

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

microgateway core config complementos edgeauth
3.1.3 3.1.3 3.1.3 3.0.14 3.0.9

Mejoras y correcciones de errores:

  • 153509313: Se solucionó un problema en el que el módulo de depuración de Node.js generaba fugas de memoria. El problema existe en las versiones 3.1.0, 3.1.1 y 3.1.2.
  • 153509313: Se 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, Edge Microgateway se actualizó para que el procesamiento de la asignación de la ruta de acceso a los recursos coincida con el de Apigee Edge. En esta versión, se solucionó un problema por el que no se controlaba correctamente el patrón /literal_string/*. Por ejemplo, /*/2/*. Consulta también Configura el comportamiento de una ruta de acceso a un recurso de '/', '/*' 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 para los proyectos de componentes individuales asociados con Edge Microgateway 3.1.3. Ten en cuenta que, debido a que cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión principal del producto:

microgateway core config complementos edgeauth
3.1.2 3.1.2 3.1.2 3.0.13 3.0.9

Mejoras y correcciones de errores:

  • 151285018: Se realizó una mejora de función para agregar compatibilidad con proxy HTTP en el tráfico entre Edge Microgateway y objetivos de backend. Además, se solucionaron problemas de la compatibilidad del proxy HTTP existente 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 cierra su conexión se cambió de ERROR a INFO.
  • 150746985: se solucionó un problema por el que el comando edgemicro verify no funcionaba de forma correcta 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 la versión de Node.js en la imagen de Docker que se usa para ejecutar Edge Microgateway en un contenedor de Docker a 12, 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 para Edge Microgateway.

Versiones de los componentes:

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

microgateway core config complementos edgeauth
3.1.1 3.1.1 3.1.1 3.0.13 3.0.9

Mejoras y correcciones de errores:

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

    Si deseas especificar la configuración del proxy en el archivo de configuración, también debes especificar una variable HTTP_PROXY que mencione la misma URL del proxy que se especificó 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 el 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 descarten la conexión de forma errónea).

  • 149278885: Se agregó una función nueva que te permite establecer el tiempo de espera de la API de destino a nivel del proxy de la API, en lugar de usar una configuración de tiempo de espera global.

    Si configuras la propiedad io.timeout.millis de TargetEndpoint en el proxy de API, Edge Microgateway podrá recuperar esa propiedad y aplicar tiempos de espera específicos del extremo objetivo. 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 para Edge Microgateway.

Versiones de los componentes:

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

microgateway core config complementos edgeauth
3.1.0 3.1.0 3.1.0 3.0.12 3.0.9

Mejoras y correcciones de errores:

  • 144187500: Se registrará un nuevo evento de nivel WARN cuando se active la marca quotas.failOpen. Esta marca se activa si se produce un error de procesamiento de cuota o si la solicitud “aplicar cuota” a Edge no puede actualizar los contadores de cuotas remotos. En este caso, la cuota se procesará en función de los recuentos locales solo hasta que se realice la próxima sincronización de cuota remota exitosa. Anteriormente, este evento solo se registraba cuando el nivel de registro se configuraba en DEBUG.

    Por ejemplo:

    2020-01-20T02:52:53.040Z [warn][localhost:8000][5][foo-eval][test][hello/][]
    [DbpGIq9jKfzPX8jvXEivhA0LPwE][f372cc30-3b2f-11ea-845f-a627f][quota][remote quota not
    available so processing locally, setting quota-failed-open for identifier: AppQuota60.Quota60]
    [GET][][][][]
  • 145023519: Se 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: el nivel de registro de sourceRequest, targetRequest y targetResponse se cambió al nivel de INFO.
  • 146019878: Se corrigió una discrepancia entre la latencia que se calculó para el “Rendimiento del proxy de API” en Edge Analytics 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 rutas 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: Actualiza la lógica de coincidencia de patrones del complemento apiKeys para que coincida con el complemento de OAuth.
  • 143488312: Se solucionó un problema por el que los espacios iniciales o finales en el parámetro de ID de cliente provocaban que la creación de la lista de productos JWT quedara vacía para el token de 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 “the sincronizar”, recupere datos de configuración de Apigee Edge y los escriba en una base de datos local de Redis. Luego, se pueden configurar otras instancias de microgateway para leer sus datos de configuración desde la base de datos. Esta función agrega un nivel de resiliencia a Edge Microgateway. Permite que las instancias de micropuerta de enlace se inicien y funcionen sin necesidad de comunicarse con Apigee Edge. Para obtener más información, consulta Cómo usar el sincronizador.

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

Versión 3.0.x

Correcciones de errores y mejoras v.3.0.x

3.0.10

El viernes 8 de noviembre, 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 para los proyectos de componentes individuales asociados con Edge Microgateway 3.0.10. Ten en cuenta que, debido a que cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión principal del producto:

microgateway core config complementos edgeauth
3.0.10 3.0.8 3.0.8 3.0.11 3.0.8

Mejoras y correcciones de errores:

  • 142677575: Se actualizó una función de modo que la coincidencia de patrones para las rutas de acceso de los recursos que se usan en los productos de API para Edge Microgateway ahora se alinea con la coincidencia de patrones de la ruta de acceso a los recursos que usa Apigee Edge, como se describe en Configura el comportamiento de una ruta de acceso al recurso '/', '/*' 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 para desarrolladores 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. Si quieres obtener detalles sobre las propiedades de configuración individuales de quotas, consulta Opciones de configuración para la cuota.

    edgemicro:
      home: ../gateway
      port: 8000
      max_connections: -1
      max_connections_hard: -1
      logging:
        level: info
        dir: /var/tmp
        stats_log_interval: 60
      plugins:
        dir: ../plugins
        sequence:
          - oauth
          - quota
    quotas:
      bufferSize:
        hour: 20000
        minute: 500
        default: 10000
      useDebugMpId: true
      failOpen: true
    ...
  • 141750056: Se agregó una función nueva que te permite usar Redis como el 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 respaldo y el contador de cuotas es global. Para obtener más información, consulta Opciones de configuración de la cuota. Por ejemplo:
    edgemicro:
    ...
    quotas:
      useRedis: true
      redisHost: localhost
      redisPort: 6379
      redisDb: 1
    .
  • 140574210: El tiempo de vencimiento predeterminado para los tokens generados por el proxy 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 para Edge Microgateway.

Versiones de los componentes:

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

microgateway core config complementos edgeauth
3.0.9 3.0.7 3.0.7 3.0.10 3.0.7

Mejoras y correcciones de errores:

  • 141989374: se agregó una nueva función de "fail open" para el 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 remotos, la cuota se procesará según los recuentos locales solo hasta que se realice la próxima sincronización de cuota remota exitosa. En ambos casos, se configura una marca quota-failed-open en el objeto de la solicitud.

    Para habilitar la función de cuota "fail open", 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 se establece como calendario como tipo de cuota. 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 usar esta función, debes actualizar tu proxy edgemicro-auth a la versión 3.0.7 o una superior 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 para los proyectos de componentes individuales asociados con Edge Microgateway 3.0.8. Ten en cuenta que, debido a que cada componente es un proyecto independiente, es posible que los números de versión no coincidan con la versión principal del producto:

microgateway core config complementos edgeauth
3.0.8 3.0.6 3.0.6 3.0.9 3.0.6

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 exitosa 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 exitosa a la verificación de la clave de API, se recupera un JWT nuevo y se reemplaza el anterior en la caché.

    Para configurar la nueva función de "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 todos los resultados de registro del complemento. Además, los niveles de registro de algunos registros se cambiaron a error según sea necesario.
  • 140193349: Se realizó una actualización en el proxy edgemicro-auth para requerir que la clave y el secreto de Edge Microgateway se verifiquen en cada solicitud de clave de API de verificación. Edge Microgateway se actualizó para enviar siempre la clave y el secreto en cada solicitud de verificación de la clave de API. Este cambio evita que los clientes obtengan un JWT con solo una clave de API.
  • 140090250: Se realizó una actualización para agregar registros de diagnóstico para el procesamiento de la cuota. Con este cambio, ahora es posible correlacionar los resultados 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 para Edge Microgateway.

Versiones de los componentes:

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

microgateway core config complementos edgeauth
3.0.7 3.0.5 3.0.5 3.0.8 3.0.5

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 un estado 200, se mostrará el código 4xx o 5xx exacto, según el error.

    Esta función está inhabilitada de forma predeterminada. Para habilitar esta función, agrega la propiedad oauth.useUpstreamResponse: true a la configuración de Edge Microgateway. Por ejemplo:

    oauth:
      allowNoAuthorization: false
      allowInvalidAuthorization: false
      gracePeriod: 10
      useUpstreamResponse: true
  • 140090623: En la versión 3.0.6, se agregó una nueva propiedad de configuración, quota.quotaUri. Establece esta propiedad de configuración si deseas administrar las cuotas a través del proxy edgemicro-auth que se implementa en tu organización. Si no se configura esta propiedad, el extremo de cuota se establece de forma predeterminada en el extremo interno de 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 Edgemicro-auth.

  • 140470888: Se agregó un encabezado de autorización a las llamadas de cuota para proporcionar autenticación. Además, se modificó el proxy edgemicro-auth para quitar “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 de propiedad correcto 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. La cuota ahora se aplica correctamente a cada producto de 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 para 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. 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://your_org-your_env.apigee.net/edgemicro-auth
    

    Para utilizar 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 Edgemicro-auth.

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

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

3.0.5

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

Se corrigieron errores
  • 139005279: Se corrigió un problema en 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 escribir 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. Actualmente, 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 - Mejora los mensajes de registro relacionados con la clave JWT y los secretos para estos comandos de la CLI: cert, Verify, upgradekvm, token, genkeys, refundkeys, rotarkey y configure.
Mejoras del mensaje de error de tiempo de espera y conexión rechazadas
  • 138413577: Agrega y mejora el manejo de errores para los tiempos de espera del servicio de backend.
  • 138413303: Agrega y mejora el manejo de errores para los tiempos de espera de respuesta y socket.
  • 138414116: Agrega y mejora el manejo de errores para los errores de “conexión rechazada”.

3.0.4

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

  • 134445926: 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 se usara 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 (solicitud).
    • Se agregaron más mensajes de registro cuando fue 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 fundamental 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 para Edge Microgateway.

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

    Los valores de propiedad nulos generan 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. Ya se solucionó este problema. (135038879)
  • Se implementaron varias integraciones de pruebas 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. Solucionamos los errores y las advertencias de calidad del código derivados de JSHint. Como resultado, se identificaron y repararon algunos errores de código reales. Todos los módulos de Apigee Edge Microgateway pasaron por 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 de uso 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 compatibles de Node.js: 8 y 12; las versiones 7, 9 y 11 son experimentales)
  • 134751883: Edge Microgateway falla cuando se vuelve a cargar la página durante la 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: tokenCacheSize no se usa en el complemento de OAuth
  • 134947757: establecer cacheTTL en el complemento de OAuth
  • 135445171: El cálculo de GracePeriod en OAuth no es correcto.
  • Usa el módulo memored 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

(Corrige el 2.5.38 del 07/06/2019)

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

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

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

(Agregado 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.

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

(Agregado 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 elgrant_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 no funcionaba correctamente la configuración de Edge Microgateway para usar un token de acceso de OAuth2 en Edge para la nube privada (no se respetó el token).

Docker: Compatibilidad para usar certificados autofirmados

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

Docker: Compatibilidad con TLS

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 de las solicitudes salientes de Edge Microgateway a una aplicación de destino (solicitudes con el 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 el proxy de solicitudes

Si ejecutas Edge Microgateway en un contenedor de Docker, puedes usar estas opciones para controlar el comportamiento del proxy cuando la micropuerta de enlace se ejecuta detrás de un firewall (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: Se actualizaron las instrucciones 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 utiliza un punto de activación de Docker, es nueva. La otra opción existía antes y, básicamente, no cambió; sin embargo, se actualizó el Dockerfile. Para obtener más información, consulta los siguientes vínculos:

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

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

Segrega APIs en Edge Analytics

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 (agregado 2.5.26). 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 Cómo excluir rutas de 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 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

Puedes ejecutar Edge Microgateway desconectado por completo de cualquier dependencia de Apigee Edge (se agregó 2.5.25). 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

(Agregado 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 Cómo revocar claves.

Compatibilidad con Docker

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

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

Asistencia de Kubernetes

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

Compatibilidad con la opción de Nodelay TCP

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

De forma predeterminada, las conexiones TCP usan el algoritmo de Nagle para almacenar los 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 configuración de MicroEdge 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 agregaron parámetros nuevos al comando edgemicro forever (agregado 2.5.12). Estos parámetros te permiten especificar la ubicación del archivo forever.json y te permiten 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 iniciar definitivamente, haz lo siguiente:

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

Para detener la opción Forever:

edgemicro forever -a stop

Rotación de claves de JWT

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

Filtra los 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 coinciden 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 Always-monitor, que administra Forever de manera programática. Consulta Supervisión continua.

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

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

Compatibilidad con la opción de CLI para siempre

Usa el comando edgemicro forever [package.json] para especificar la ubicación del archivo forever.json (agregado 2.5.8). 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

Se agregó 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 discrepancias de tiempo de JWT

(Se agregó 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 los horarios No antes (nbf) o Emitido a las (iat) especificados en el token de autorización JWT. Establece este atributo en la cantidad de segundos para permitir estas discrepancias. Consulta los atributos de OAuth.

(Se agregó 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 los horarios No antes (nbf) o Emitido a las (iat) especificados 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 "secure" de referencia de host virtual no válida cuando se usa la opción -v. Esta corrección modifica el proxy perimetralde-auth antes de la implementación para garantizar que los hosts virtuales coincidan de forma exacta con lo que se especifica en la marca “-v”. Además, puedes especificar cualquier cantidad y nombre para el host virtual (que ya no está restringido a la configuración predeterminada y segura).
  • (Error 141) El comando edgemicro reload no admite la opción de 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. Ya se solucionó este problema.
  • (Problema de la comunidad de Apigee: https://community.apigee.com/questions/47846/microgateway-not-working-with-oauth.html) Microgateway no funciona con OAuth. Ya corregimos el problema.
  • Corrige pidPath en Windows.
  • (Error 157) Se corrigió el problema que causaba 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 perimetral. 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 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 necesidad de crear nuevos proxies de API para brindar asistencia a los equipos nuevos. Ten en cuenta que /**/ no es compatible.

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

3. Se agregó una 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 y start, ahora puedes especificar una ruta de acceso de configuración personalizada en la línea de comandos mediante los marcadores -c o --configDir. Se solucionó un problema por el que no se reconocía un directorio de configuración personalizado para instalaciones de 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, se deben 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 hacer un 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 como false en el archivo de configuración de la micropuerta de enlace. Por ejemplo:

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

En este caso, puedes configurar las siguientes variables para controlar los hosts de cada proxy HTTP que desees usar o 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 como 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. Establece 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. Respeta los mensajes de estado HTTP personalizados en la respuesta objetivo (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 token de acceso de OAuth. Antes de este cambio, el complemento aceptaba cualquiera de las dos formas de seguridad. Con este cambio, puedes permitir solo uno de esos modelos de seguridad (y, al mismo tiempo, 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.

Debes configurar 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 encriptado (KVM) de Edge.

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

También puedes anular el puerto del extremo de destino y elegir entre HTTP y HTTPS. Modifica estas variables en el código de tu complemento: req.targetPort y req.targetSecure. Para elegir HTTPS, configura req.targetSecure 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 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 usar un token de OAuth, emplea 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 se requería una organización pagada para ejecutar correctamente el proxy 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 los datos, pero los controladores finales se ejecutaban de todos modos. Esto hizo que se enviara una respuesta parcial. (PR 71)
  • Se solucionó un problema por el que no se reconocía un directorio de configuración personalizado para instalaciones de 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. No se necesita una barra final 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 en la organización con 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 la micropuerta de enlace procesará 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 lo siguiente a la configuración de microgateway para enmascarar el URI de solicitud o la ruta de la solicitud. Ten en cuenta que el URI consta de las partes del nombre de host y de la ruta de acceso de la solicitud.

analytics:
  mask_request_uri: 'string_to_mask'
  mask_request_path: 'string_to_mask'

Versión 2.3.3

Nuevas funciones y mejoras v.2.3.3

A continuación, encontrarás las nuevas funciones y mejoras para esta versión.

Inhabilita el sondeo de cambio automático

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

disabled_config_poll_interval: true

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

Reescribe URLs de destino en complementos

Puedes anular la URL de destino predeterminada de forma dinámica en un complemento si modificas 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 incorporación facilita el acceso de los complementos 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 la configuración predeterminada para generar estos objetos mediante la configuración de DEBUG=* cuando inicias Edge Microgateway. Por ejemplo:

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

Se agregó una 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 init, configure y start, 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 respuestas o solicitudes grandes.
  • Se corrigió el orden de ejecución del complemento. Ahora se comporta como se explica en la documentación.
  • El complemento acumula-request ya no se bloquea para solicitudes GET.
  • Se solucionó un problema en el complemento de acumulación de respuestas en el que la falta del cuerpo de la 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. Estos archivos ZIP ya no son compatibles. 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, encontrarás las nuevas funciones y mejoras para esta versión.

Cómo 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 (los proxies llamados Edgemicro_*) extraídos de la organización o el entorno de Edge que especificaste en el comando de configuración 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 de 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/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 estos:

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

Cómo establecer encabezados de solicitud de destino en complementos

Hay dos patrones básicos para tener en cuenta si deseas agregar o modificar los encabezados de la solicitud de destino: uno en el que la solicitud entrante contiene datos (como en una solicitud POST) y 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 acumular primero todos los datos entrantes del cliente. Luego, en la función onend_request(), usa la nueva función request.setOverrideHeader(name, value) para personalizar los encabezados.

A continuación, se muestra un ejemplo de código de complemento que muestra cómo hacerlo. Los encabezados establecidos en onend_request se envían al destino:

module.exports.init = function(config, logger, stats) {


  function accumulate(req, data) {
    if (!req._chunks) req._chunks = [];
    req._chunks.push(data);
  }

  return {

    ondata_request: function(req, res, data, next) {
      if (data && data.length > 0) accumulate(req, data);
      next(null, null);
    },

    onend_request: function(req, res, data, next) {
      if (data && data.length > 0) accumulate(req, data);
      var content = Buffer.concat(req._chunks);
      delete req._chunks;
      req.setOverrideHeader('foo', 'bar');
      req.setOverrideHeader('content-length', content.length);
      next(null, content);
    },


    onerror_request: function(req, res, data, next) {
      next(null, null);
    }

  };

}

Si la solicitud no incluye datos, puedes configurar los encabezados de destino en el controlador onrequest(). Este patrón no es nuevo; se documentó con anterioridad y se usó en los complementos de muestra proporcionados con Edge Microgateway.

onrequest: function(req, res, next) {
      debug('plugin onrequest');
      req.headers['x-foo-request-id'] = "bar";
      req.headers['x-foo-request-start'] = Date.now();
      next();
    }

Función de recarga sin tiempo de inactividad

Después de realizar un cambio de configuración en Edge Microgateway, puedes cargar la configuración sin descartar ningún mensaje. Con este cambio, Edge Microgateway siempre se inicia en modo de clúster, y se quitó la opción --cluster del comando edgemicro start.

Además, se agregaron tres comandos 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.

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

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

edgemicro:
    config_change_poll_interval: [seconds]

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

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

edgemicro --version

Nuevas opciones de SSL del servidor de Edge Microgateway

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

Opción Descripción
pfx Ruta de acceso a un archivo pfx que contiene la clave privada, el certificado y los certificados de la AC 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 cadena que describe los algoritmos de cifrado que se van a usar separados por un “:”.
rejectUnauthorized Si es verdadero, el certificado del servidor se verifica con la lista de AC proporcionadas. Si la verificación falla, se mostrará un error.
secureProtocol 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 de TLS (indicación de nombre de servidor) de SNI.

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 archivos de registro.

Versión 2.1.2

A continuación, encontrarás las nuevas funciones y mejoras para esta versión.

Permite el 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:

  • edgeconfig:verify_api_key_url
  • edgeconfig:products

Para obtener más información, consulta Usa un servicio de autenticación personalizado.

Versión 2.1.1

A continuación, encontrarás las nuevas funciones y mejoras para esta versión.

Implementa el proxy de autenticación compatible con multiplataforma

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

Versión 2.1.0

Nuevas funciones y mejoras v.21.0

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

Especifica las opciones de SSL/TLS del cliente

Puedes especificar opciones de cliente para conexiones SSL/TSL a los 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. Estos archivos ZIP ya no son compatibles. 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 incluyen las nuevas funciones y mejoras:

Cómo especificar un puerto en el inicio

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

De forma opcional, puedes conservar los encabezados de autenticación

Una configuración nueva, keepAuthHeader, te permite conservar el encabezado de autorización que se envía en la solicitud. Si se configura como verdadero, el encabezado de autenticación 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 Usa 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, encontrarás las nuevas funciones y mejoras de esta versión.

Compatibilidad con rutas de recursos en productos

Edge Microgateway ahora admite rutas de recursos en los productos. Las rutas de acceso a recursos te permiten restringir el acceso a las APIs según el 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, encontrarás 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 proceso. 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 varias instancias de Microgateway puedan ejecutarse en el mismo host. Puedes encontrar los archivos de configuración en ~/.edgemicro después de ejecutar el comando de configuración de Edge Microgateway.

Nuevas variables de entorno

Ahora hay 4 variables de entorno: EDGEMICRO_ORG, EDGEMICRO_ENV, EDGEMICRO_KEY y EDGEMICRO_SECRET. Si configuras estas variables en el sistema, no es necesario que especifiques sus valores cuando usas la interfaz de línea de comandos (CLI) para iniciar y configurar 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 utiliza 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, encontrarás 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 cuando se somete a 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
El texto destacado de Java para el proxy Edgemicro-internal que se usa con Edge local ahora usa el servidor MGMT derecho.
Quita las dependencias de typescript del agente.
Se corrigió el error de la CLI cuando se usa la opción de implementación eficiente.
Se corrigió la referencia de dependencia de lógica de certificado.