Gateway applicazioni
Informazioni su come risolvere i problemi comuni del gateway applicazioni.
Il mio messaggio di errore di risposta contiene: 400 Richiesta non valida: valore di intestazione non valido
Imparare la causa comune quando un messaggio di errore di risposta contiene: 400 Bad Request: invalid header value
.
Gateway applicazioni aggiunge intestazioni alle richieste con proxy a un Application Server a monte. Una di queste intestazioni, idcs_user_display_name
, potrebbe contenere caratteri non validi come definito dalla RFC più recente, a seconda dei valori impostati per il nome e il cognome dell'utente del dominio di Identity. Questo nuovo RFC limita i caratteri consentiti ai caratteri US-ASCII stampabili, ovvero 0x21 - 0x7E e ai caratteri di spazi e tabulazioni orizzontali. Vedere Sintassi e instradamento dei messaggi HTTP/1.1 RFC 7230.
Gli Application Server che applicano l'RFC più recente rifiuteranno la richiesta con la risposta: 400 Richiesta non valida: valore di intestazione non valido. Nota: la risposta esatta dipende dall'Application Server utilizzato.
Il server Gateway applicazioni non riflette le modifiche
Quando non è possibile visualizzare le modifiche apportate in IAM nel server Gateway applicazioni, provare a effettuare le operazioni riportate di seguito.
Le modifiche apportate alle applicazioni enterprise e alle definizioni del gateway applicazioni nei domini di Identity potrebbero non essere applicate immediatamente al gateway applicazioni perché il gateway applicazioni inserisce nella cache le informazioni sui domini di Identity, ad esempio le risorse, i criteri di autenticazione e i valori di intestazione delle applicazioni enterprise.
Il gateway applicazioni contatta IAM utilizzando gli agenti per raccogliere informazioni su host e porta. Quando si avvia Gateway applicazioni, il relativo server NGINX viene configurato automaticamente con queste informazioni. Eventuali modifiche a IAM vengono sottoposte a polling periodico dagli agenti.
/usr/local/nginx/conf/cloudgate.config
. Modificare il valore ttl
per policy
e headers
nella sezione caching
in base all'esempio riportato di seguito, quindi riavviare sia il server Gateway applicazioni che l'agente."caching" : {
"minimumTtl" : 300,
"headers" : { "ttl": 3600 },
"discovery" : { "ttl": 3600 },
"policy" : { "ttl": 3600},
"tenantKeys" : { "ttl": 86400 }
}
/usr/local/nginx/conf/cloudgate.config
, modificare il valore pollIntervalSecs
nella sezione agentConfig
come nell'esempio:"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
Invalid_session Messaggio
Quando il gateway applicazioni non riesce a comunicare correttamente con IAM, i messaggi invalid_session
vengono trovati nei file di log degli errori del gateway applicazioni.
Di seguito è riportato un esempio di un messaggioinvalid_session
nel file error.log
.
www-authenticate: Bearer error="invalid_session", error_description="Authentication Failure
Ciò può essere dovuto al modo in cui Gateway applicazioni elabora una richiesta client a una risorsa protetta. Gateway applicazioni utilizza le richieste secondarie NGINX
per effettuare richieste a IAM, quindi Gateway applicazioni richiede che il resolver NGINX
Linux sia configurato in modo appropriato per consentire il corretto funzionamento di queste richieste secondarie.
-
Verificare che l'impostazione del resolver nel file
/usr/local/nginx/conf/nginx-cg-sub.conf
sia impostata sull'IP corretto. -
Verificare che il nome del tenant nel file
/usr/local/nginx/conf/cloudgate.config
sia configurato correttamente.
GET 127.0.0.1:53 Errore di comando
I file di log degli errori contengono il comando GET 127.0.0.1:53 che risponde all'errore numero 500.
Poiché Gateway applicazioni effettua richieste secondarie a un servlet interno, Gateway applicazioni richiede che la virtual machine ascolti la porta 53
.
Il server Gateway applicazioni deve comunicare con se stesso tramite l'indirizzo IP 127.0.0.1
e la porta 53
.
Se si esegue il gateway applicazioni in un software di virtual machine, configurare il port forward per questa porta dall'host al guest. Vedere Configuring Port Forwarding Rules.
Il server gateway applicazioni non è in grado di comunicare con IAM
Quando l'A[[ Gateway Server non è in grado di comunicare con IAM, attenersi alla procedura riportata di seguito per utilizzare un client SSH quale PuTTY
e le credenziali riportate di seguito per collegarsi al server Gateway applicazioni.