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 Header zu den Anforderungen hinzu, die über einen Proxy an einen Upstream-Anwendungsserver übertragen werden. Einer dieser Header, idcs_user_display_name
, kann ungültige Zeichen aufweisen, wie von der neueren RFC definiert, je nach den für Vorname und Nachname des Identitätsdomainbenutzers festgelegten Werten. Diese 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 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.