App-Gateway
Erfahren Sie, wie Sie allgemeine Probleme mit dem App-Gateway beheben.
Fehlermeldung "Meine Antwort" enthält: 400 Fehlerhafte Anforderung: ungültiger Headerwert
Erfahren Sie die allgemeine Ursache, wenn eine Antwortfehlermeldung Folgendes enthält: 400 Bad Request: invalid header value.
Das App-Gateway fügt den Anforderungen, die an einen Upstream-Anwendungsserver weitergeleitet werden, Header hinzu. Einer dieser Header, idcs_user_display_name, weist möglicherweise ungültige Zeichen auf, wie vom neueren RFC definiert. Dies hängt von den Werten ab, die für Vorname und Nachname des Identitätsdomainbenutzers festgelegt wurden. Dieser neue RFC begrenzt die zulässigen Zeichen auf druckbare US-ASCII-Zeichen (d.h. 0x21 - 0x7E sowie Leerzeichen und horizontale Tabulatorzeichen). Siehe RFC 7230 HTTP/1.1 Message Syntax and Routing.
Anwendungsserver, die den neueren RFC erzwingen, lehnen die Anforderung mit der Antwort ab: 400 Fehlerhafte Anforderung: ungültiger Headerwert. Hinweis: Die genaue Antwort hängt von dem verwendeten Application Server ab.
App-Gatewayserver reflektiert keine Änderungen
Wenn die Änderungen, die Sie in IAM im App-Gatewayserver vorgenommen haben, nicht angezeigt werden, führen Sie den folgenden Vorgang aus.
Änderungen, die Sie an Unternehmensanwendungen und App-Gatewaydefinitionen in Identitätsdomains vornehmen, werden möglicherweise nicht sofort im App-Gateway widergespiegelt, da das App-Gateway Identitätsdomaininformationen wie Ressourcen, Authentifizierungs-Policys und Headerwerte von Unternehmensanwendungen cacht.
Das App-Gateway kontaktiert IAM mit Agents, um Host- und Portinformationen zu erfassen. Wenn Sie das App-Gateway starten, wird der NGINX-Server automatisch mit diesen Informationen konfiguriert. Alle Änderungen an IAM werden regelmäßig von den Agents abgefragt.
/usr/local/nginx/conf/cloudgate.config. Ändern Sie den Wert ttl für policy und headers im Abschnitt caching gemäß dem folgenden Beispiel, und starten Sie dann sowohl den App-Gatewayserver als auch den Agent neu."caching" : {
"minimumTtl" : 300,
"headers" : { "ttl": 3600 },
"discovery" : { "ttl": 3600 },
"policy" : { "ttl": 3600},
"tenantKeys" : { "ttl": 86400 }
}
/usr/local/nginx/conf/cloudgate.config den Wert pollIntervalSecs im Abschnitt agentConfig wie im Beispiel:"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-Nachricht
Wenn die App-Gateway nicht richtig mit IAM kommunizieren kann, finden Sie invalid_session-Meldungen in den Fehlerlogdateien des App-Gateways.
Im Folgenden finden Sie ein Beispiel für eine invalid_session-Meldung in der Datei error.log:
www-authenticate: Bearer error="invalid_session", error_description="Authentication Failure
Diese Meldung kann durch die Art verursacht werden, mit der das App-Gateway eine Clientanforderung an eine geschützte Ressource verarbeitet. Das App-Gateway verwendet NGINX-Unteranforderungen, um Anforderungen an IAM zu stellen. Im App-Gateway muss der Linux-NGINX-Resolver entsprechend konfiguriert sein, damit diese Unteranforderungen ordnungsgemäß funktionieren.
-
Prüfen Sie, ob die Resolver-Einstellung in der Datei
/usr/local/nginx/conf/nginx-cg-sub.confauf die richtige IP gesetzt ist. -
Prüfen Sie, ob der Mandantenname in der Datei
/usr/local/nginx/conf/cloudgate.configkorrekt konfiguriert ist.
GET 127.0.0.1:53-Befehlsfehler
Die Fehlerlogdateien enthalten den Befehl GET 127.0.0.1:53, der auf die Fehlernummer 500 reagiert.
Da das App-Gateway Unteranforderungen an ein internes Servlet sendet, muss die virtuelle Maschine den Port 53 überwachen.
Der App-Gatewayserver muss über die IP-Adresse 127.0.0.1 und den Port 53 mit sich selbst kommunizieren.
Wenn Sie das App-Gateway in einer VM-Software ausführen, konfigurieren Sie die Portweiterleitung für diesen Port vom Host zum Gast. Siehe Portweiterleitungsregeln konfigurieren.
App-Gatewayserver kann nicht mit IAM kommunizieren
Wenn Ihr A[[Gateway-Server nicht mit IAM kommunizieren kann, führen Sie die folgenden Schritte aus, um einen SSH-Client wie PuTTY und die folgenden Zugangsdaten für die Anmeldung beim App-Gatewayserver zu verwenden.