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.

Rimuovere i caratteri non stampabili.

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.

Per impostazione predefinita, il tempo di aggiornamento dei criteri e delle intestazioni è di 3.600 secondi (1 ora) ciascuno. Per modificare questi valori, accedere al server Gateway applicazioni e modificare il file /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 }
}
È inoltre possibile modificare l'intervallo di polling degli agenti. Per impostazione predefinita, il tempo di aggiornamento dell'agente per ottenere la nuova configurazione del gateway applicazioni da IAM è di 60 secondi, ovvero il periodo di tempo minimo supportato. Nel file /usr/local/nginx/conf/cloudgate.config, modificare il valore pollIntervalSecs nella sezione agentConfig come nell'esempio:
"agentConfig": {
    "pollIntervalSecs"    : 60,
    "daemon"         : true,
    "logLevel"        : "warn",
    "logFolder"        : "" 
}
Se si desidera che le modifiche nella configurazione dell'applicazione Enterprise vengano applicate immediatamente, arrestare il server Gateway applicazioni, quindi avviare il server.
/scratch/oracle/cloudgate/home/bin/cg-stop
/scratch/oracle/cloudgate/home/bin/cg-start
Se si desidera che le modifiche nella configurazione del gateway applicazioni vengano applicate immediatamente, arrestare l'agente e avviare l'agente.
/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.

  1. Verificare che l'impostazione del resolver nel file /usr/local/nginx/conf/nginx-cg-sub.conf sia impostata sull'IP corretto.
  2. 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.


  1. Eseguire il comando sudo su - per accedere come root e, quando richiesto, fornire la password oracle.


  2. Installare telnet eseguendo il seguente comando:
    yum install telnet

  3. Eseguire il comando telnet riportato di seguito e provare a stabilire una connessione all'istanza IAM e all'applicazione dal server Gateway applicazioni.
    telnet <idcs-tenant>.identity.oraclecloud.com 443

    Se telnet non riesce a connettersi a IAM, contattare l'amministratore di rete per applicare qualsiasi altra configurazione di rete per consentire al server Gateway applicazioni di stabilire la connessione con l'istanza IAM.

  4. Eseguire il comando exit per eseguire il logout dall'account root.