AWS announces preview of AWS Interconnect - multicloud
AWS announces AWS Interconnect – multicloud (preview), providing simple, resilient, high-speed private connections to other cloud service providers. AWS Interconnect - multicloud is easy to configure and provides high-speed, resilient connectivity with dedicated bandwidth, enabling customers to interconnect AWS networking services such as AWS Transit Gateway, AWS Cloud WAN, and Amazon VPC to other cloud service providers with ease.
Wie behebe ich den Fehler „400 Bad Request“ in einer privaten API Gateway-Integration?
Ich erhalte die Fehlermeldung „400 Bad Request“, wenn ich meine API mit privater Integration in Amazon API Gateway aufrufe.
Lösung
Der Fehler „400 Bad Request“ tritt auf, wenn es Konfigurationsprobleme mit einer privaten API Gateway-Integration gibt.
HTTP-APIs
**Ein Application Load Balancer oder ein Network Load Balancer mit einem Listener, der auf einem HTTPS- oder TLS-Port konfiguriert ist, erhält eine Anfrage **
Standardmäßig verwenden private Integrationen für HTTP-APIs das HTTP-Protokoll. Wenn du einen HTTPS- oder TLS-Listener konfiguriert hast, erwartet der Load Balancer HTTPS-Anfragen statt HTTP-Anfragen. Dies führt zu dem folgenden Fehler:
<html> <head><title>400 The plain HTTP request was sent to HTTPS port</title></head> <body> <center><h1>400 Bad Request</h1></center> <center>The plain HTTP request was sent to HTTPS port</center> <hr><center>nginx</center> </body> </html>
Für einen HTTPS- oder TLS-Listener musst du in der TLS-Konfiguration einen Servernamen angeben. Gehe wie folgt vor, um das HTTPS-Protokoll zu konfigurieren:
- Notiere dir den Domain-Namen des internen Application Load Balancers oder Network Load Balancers.
- Öffne die API Gateway-Konsole.
- Öffne die Integrationseinstellungen der API, um die Konfiguration zu bearbeiten.
- Verwende den Domänennamen aus Schritt 1, um den Servernamen für die TLS-Konfiguration anzugeben.
- (Optional) Wenn du automatische Bereitstellungen deaktiviert hast, stelle die API erneut bereit.
**Der Desync-Migrationsmodus ist auf den strengsten Wert eingestellt **
HTTP-APIs ermöglichen eine private Integration oder eine Virtual Private Cloud(VPC)-Link-Integration zur Verwendung eines Application Load Balancers. Wenn der Desync-Migrationsmodus deines Application Load Balancers bei korrekter Konfiguration deines API-Gateways auf strengster eingestellt ist, erhältst du die folgende Fehlermeldung:
<html> <head><title>400 Bad Request</title></head> <body> <center><h1>400 Bad Request</h1></center> </body> </html>
Der Desync-Migrationsmodus schützt deine Anwendung vor Problemen, die durch HTTP-Desynchronisierung verursacht werden. Weitere Informationen findest du in der Application Load Balancer-Metrik DesyncMitigationMode_NonCompliant_Request_Count.
Gehe wie folgt vor, um den Desync-Migrationsmodus zu deaktivieren:
- Öffne die Amazon Elastic Compute Cloud (Amazon EC2)-Konsole.
- Wähle im Navigationsbereich Load Balancers und anschließend deinen Network Load Balancer aus, den du bearbeiten willst.
- Wähle **Aktionen ** und dann Load Balancer-Attribute bearbeiten aus.
- Wähle für Paketverarbeitung Defensiv aus.
- Wähle Änderungen speichern aus.
REST-APIs
Ein Network Load Balancer mit einem Listener, der auf einem TLS-Port konfiguriert ist, erhält eine Anfrage
Network Load Balancers, die mit einem TLS-Listener konfiguriert sind, erwarten HTTPS-Anfragen vom Upstream-Dienst. Wenn du die HTTP-URL als Integrationsendpunkt-URL in der REST-API-Konfiguration angibst, schlagen Anfragen mit dem folgenden Fehler fehl:
<html> <head><title>400 The plain HTTP request was sent to HTTPS port</title></head> <body> <center><h1>400 Bad Request</h1></center> <center>The plain HTTP request was sent to HTTPS port</center> <hr><center>nginx</center> </body> </html>
Gehe wie folgt vor, um das HTTPS-Protokoll zu konfigurieren:
- Öffne die API Gateway-Konsole.
- Öffne die Integrationseinstellungen der API, um die Konfiguration zu bearbeiten.
- Ändere die Endpunkt-URL so, dass sie https:// statt http:// verwendet.
- Stelle den Pod erneut bereit.
**Wichtig:**Wenn Änderungen der Endpunkt-URL für HTTPS gelten, stelle sicher, dass du denselben Domain-Namen verwendest, den du bei der Konfiguration des TLS-Listeners verwendet hast.
Ähnliche Informationen
Wie integriere ich eine API Gateway-REST-API in einen Application Load Balancer?
Wie kann ich einen Amazon VPC-Link für meine Amazon Gateway-REST-API löschen?
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor 7 Monaten