App-Gateway
Erfahren Sie, wie Sie allgemeine Probleme mit dem App-Gateway beheben.
Meine Antwortfehlermeldung 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 über einen Proxy an einen Upstreamanwendungsserver weitergeleitet werden, Header hinzu. Einer dieser Header, idcs_user_display_name
, kann ungültige Zeichen enthalten, wie von der neueren RFC definiert - abhängig von den Werten, die für Vorname und Nachname des Identitätsdomainbenutzers festgelegt sind. Diese neue RFC begrenzt die zulässigen Zeichen auf druckbare US-ASCII-Zeichen (d.h. 0x21 - 0x7E sowie das Leerzeichen und die horizontalen Registerkartenzeichen). Siehe RFC 7230 HTTP/1.1 Message Syntax and Routing.
Anwendungsserver, die den neueren RFC durchsetzen, lehnen die Anforderung mit der Antwort ab: 400 Ungültige Anforderung: ungültiger Headerwert. Hinweis: Die genaue Antwort hängt vom verwendeten Application Server ab.
App-Gatewayserver reflektiert keine Änderungen
Wenn die Änderungen, die Sie in IAM vorgenommen haben, auf dem App-Gatewayserver nicht angezeigt werden, führen Sie die folgenden Schritte 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 das 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. In diesem Fall 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.conf
auf die richtige IP gesetzt ist. -
Prüfen Sie, ob der Mandantenname in der Datei
/usr/local/nginx/conf/cloudgate.config
korrekt konfiguriert ist.
GET 127.0.0.1:53-Befehlsfehler
Die Fehlerlogdateien enthalten den Befehl GET 127.0.0.1:53, der auf Fehlernummer 500 antwortet.
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[[[-Gatewayserver 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.