Gateway de aplicación

Descubra cómo solucionar problemas comunes del gateway de aplicación.

Mi mensaje de error de respuesta contiene: 400 Solicitud incorrecta: valor de cabecera no válido

Conozca la causa común cuando un mensaje de error de respuesta contiene: 400 Bad Request: invalid header value.

El gateway de aplicación agrega cabeceras a las solicitudes conectadas mediante proxy a un servidor de aplicaciones ascendente. Una de estas cabeceras, idcs_user_display_name, puede tener caracteres no válidos según lo definido por la nueva RFC, en función de los valores definidos para el Nombre y el Apellido del usuario del dominio de identidad. Esta nueva RFC limita los caracteres permitidos a los caracteres US-ASCII imprimibles (es decir, 0x21 - 0x7E y los caracteres de tabulación horizontal y de espacio). Consulte Sintaxis y enrutamiento de mensajes HTTP/1.1 de RFC 7230.

Los servidores de aplicaciones que aplican la RFC más reciente rechazarán la solicitud con la respuesta: 400 Solicitud incorrecta: valor de cabecera no válido. Nota: La respuesta exacta depende del servidor de aplicaciones que se esté utilizando.

Elimine los caracteres no imprimibles.

El servidor del gateway de aplicación no refleja los cambios

Si no puede ver los cambios realizados en IAM en el servidor del gateway de aplicación, pruebe lo siguiente.

Es posible que los cambios que realice en las aplicaciones empresariales y las definiciones del gateway de aplicación en los dominios de identidad no se vean reflejados inmediatamente en el gateway de aplicación porque el gateway de aplicación almacena en caché la información de los dominios de identidad, como los recursos, las políticas de autenticación y los valores de cabecera de las aplicaciones empresariales.

El gateway de aplicación se pone en contacto con IAM mediante agentes para recopilar información del puerto y el host. Cuando inicia el gateway de aplicación, su servidor NGINX se configura automáticamente con esta información. Los agentes sondean periódicamente todos los cambios realizados en IAM.

Por defecto, el tiempo de refrescamiento de las cabeceras y la política es de 3600 segundos (1 hora) cada uno. Para cambiar estos valores, conéctese al servidor del gateway de aplicación y edite el archivo /usr/local/nginx/conf/cloudgate.config. Cambie el valor ttl de policy y headers en la sección caching de acuerdo con el siguiente ejemplo y, a continuación, reinicie el servidor del gateway de aplicación y el agente.
"caching" : {
  "minimumTtl"            : 300,
  "headers"               : { "ttl": 3600 },
  "discovery"             : { "ttl": 3600 },
  "policy"                : { "ttl": 3600},
  "tenantKeys"            : { "ttl": 86400 }
}
También puede cambiar el intervalo de sondeo de los agentes. Por defecto, el tiempo de refrescamiento del agente para obtener la nueva configuración del gateway de aplicación desde IAM es de 60 segundos, que es la cantidad mínima de tiempo soportada. En el archivo /usr/local/nginx/conf/cloudgate.config, cambie el valor pollIntervalSecs de la sección agentConfig como en el ejemplo:
"agentConfig": {
    "pollIntervalSecs"    : 60,
    "daemon"         : true,
    "logLevel"        : "warn",
    "logFolder"        : "" 
}
Si desea que los cambios realizados en la configuración de la aplicación empresarial se reflejen inmediatamente, pare el servidor del gateway de aplicación y, a continuación, inicie el servidor.
/scratch/oracle/cloudgate/home/bin/cg-stop
/scratch/oracle/cloudgate/home/bin/cg-start
Si desea que los cambios realizados en la configuración del gateway de aplicación se reflejen inmediatamente, pare el agente y, a continuación, inicie el agente.
/scratch/oracle/cloudgate/home/bin/agent-stop
/scratch/oracle/cloudgate/home/bin/agent-start

Mensaje Invalid_session

Cuando el gateway de aplicación no se puede comunicar correctamente con IAM, encontrará mensajes invalid_session en los archivos log de error del gateway de aplicación.

A continuación se muestra un ejemplo de un mensajeinvalid_session en el archivo error.log:

www-authenticate: Bearer error="invalid_session", error_description="Authentication Failure

Esto puede deberse a la forma en que el gateway de aplicación procesa una solicitud de cliente a un recurso protegido. El gateway de aplicación utiliza subsolicitudes NGINX para realizar solicitudes a IAM y, a continuación, requiere que el solucionador NGINX de Linux se configure correctamente para permitir que estas subsolicitudes funcionen correctamente.

  1. Verifique que la configuración del solucionador en el archivo /usr/local/nginx/conf/nginx-cg-sub.conf esté definida en la IP correcta.
  2. Verifique que el nombre del inquilino en el archivo /usr/local/nginx/conf/cloudgate.config está configurado correctamente.

Error de comando GET 127.0.0.1:53

Los archivos log de errores contienen el comando GET 127.0.0.1:53 que responde al número de error 500.

Puesto que el gateway de aplicación realiza subsolicitudes a un servlet interno, el gateway de aplicación necesita que la máquina virtual reciba en el puerto 53.

El servidor del gateway de aplicación debe comunicarse consigo mismo a través de la dirección IP 127.0.0.1 y el puerto 53.

Si ejecuta el gateway de aplicación en un software de máquina virtual, configure el reenvío de puerto de este puerto del host al invitado. Consulte Configuración de las reglas de reenvío de puerto.

El servidor del gateway de aplicación no se puede comunicar con IAM

Cuando el servidor A[[ Gateway Server no se pueda comunicar con IAM, siga estos pasos para utilizar un cliente SSH como PuTTY y las siguientes credenciales para conectarse al servidor del gateway de aplicación.


  1. Ejecute el comando sudo su - para conectarse como root y, cuando se le solicite, proporcione la contraseña de oracle.


  2. Instale telnet mediante la ejecución del siguiente comando:
    yum install telnet

  3. Ejecute el siguiente comando telnet e intente establecer una conexión con la instancia de IAM y la aplicación desde el servidor del gateway de aplicación.
    telnet <idcs-tenant>.identity.oraclecloud.com 443

    Si telnet no se puede conectarse a IAM, póngase en contacto con el administrador de red para aplicar cualquier otra configuración de red para permitir al servidor del gateway de aplicación establecer la conexión con la instancia de IAM.

  4. Ejecute el comando exit para desconectarse de la cuenta raíz.