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.
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.
/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 }
}
/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" : ""
}
/scratch/oracle/cloudgate/home/bin/cg-stop
/scratch/oracle/cloudgate/home/bin/cg-start
/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.
-
Verifique que la configuración del solucionador en el archivo
/usr/local/nginx/conf/nginx-cg-sub.conf
esté definida en la IP correcta. -
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.