Global outage event
If you're experiencing issues with your AWS services, then please refer to the AWS Health Dashboard. You can find the overall status of ongoing outages, the health of AWS services, and the latest updates from AWS engineers.
Wie behebe ich Probleme, wenn ich einen HTTP (S) -Endpunkt für mein Amazon SNS-Thema abonniere?
Ich kann keine Benachrichtigung zur Abonnementbestätigung erhalten, wenn ich meinen HTTP- oder HTTPS-Endpunkt für ein Amazon Simple Notification Service (Amazon SNS) -Thema abonniere.
Behebung
Bevor Sie Ihren HTTP(S)-Endpunkt für ein SNS-Thema abonnieren, müssen Sie bestätigen, dass der HTTP(S)-Endpunkt für die Verarbeitung von Amazon SNS-Nachrichten bereit ist.
Hinweis: Nehmen Sie die folgenden Schritte auch dann vor, wenn Ihr HTTP(S)-Abonnement bestätigt ist, Sie aber trotzdem keine Benachrichtigungen erhalten.
Stellen Sie sicher, dass Ihr HTTP(S)-Endpunkt öffentlich zugänglich ist, bevor Sie ein SNS-Thema abonnieren
Amazon SNS unterstützt keine privaten HTTP(S)-Endpunkte. Amazon SNS sendet beim Abonnieren eines HTTP(S)-Endpunkts für ein SNS-Thema über das öffentliche Internet eine HTTP-POST-Anfrage an Ihren Endpunkt. Weitere Informationen und Beispiele für POST-Anfragen finden Sie unter Parsing von Nachrichtenformaten.
Um zu überprüfen, ob Ihr Endpunkt öffentlich zugänglich ist, stellen Sie eine Beispiel-POST-Anfrage von Ihrem lokalen Computer aus. Zum Beispiel:
curl -X POST your_HTTPS_endpoint -H "Content-Type:text/plain; charset=UTF-8" --data {"x":"y"} -v
Wenn Ihr Endpunkt öffentlich zugänglich ist, gibt der Befehl den folgenden HTTP-Statuscode zurück:
200 OK
Wenn Sie einen HTTP-Endpunkt abonnieren, der für ein SNS-Thema nicht öffentlich zugänglich ist, erhalten Sie die folgende Fehlermeldung:
An error occurred (InvalidParameter) when calling the Subscribe operation: Invalid parameter: Unreachable Endpoint
Wichtig: Ihr Hostname darf keinen Unterstrich enthalten. Der folgende Hostname ist beispielsweise nicht zulässig: your_hostname
Validieren Sie Ihren Endpunkt-Antwort-Header
Führen Sie je nach verwendetem Authentifizierungstyp die folgenden Schritte aus: grundlegende Authentifizierung oder Digest-Zugangsauthentifizierung. Stellen Sie sicher, dass Ihr Endpunkt „https“ ist und die HTTP/1.1 401 Unauthorized Header-Antwort unterstützt.
Grundlegende Zugriffsauthentifizierung:
Wenn Ihr Endpunkt eine nicht authentifizierte Anfrage erhält, gibt er die Header-Antwort HTTP/1.1 401 Unauthorized zusammen mit einem „WWW-Authenticate“-Header zurück. Der Header-Wert muss das Schlüsselwort „Basic“ und andere optionale Parameter enthalten, die in RFC 2617 (von der RFC Editor-Website) unterstützt werden. Zum Beispiel:
WWW-Authenticate: Basic
Digest-Zugriffsauthentifizierung:
Wenn Ihr Endpunkt eine nicht authentifizierte Anfrage erhält, sollte er die Header-Antwort HTTP/1.1 401 Unauthorized zusammen mit einem „WWW-Authenticate“-Header zurückgeben. Der Header-Wert muss Folgendes enthalten:
- das Keyword Digest
- ein zufällig generierter Einmalwert, der als „Nonce“ bezeichnet wird
- ein Authentifizierungsbereich
- andere optionale Parameter, die in RFC 2617 unterstützt werden (von der RFC Editor-Website)
Zum Beispiel:
WWW-Authenticate: Digest realm="testrealm@host.com", qop="auth,auth-int", nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093", opaque="5ccc069c403ebaf9f0171e9517f40e41"
Richten Sie die Protokollierung des Lieferstatus ein
Führen Sie die folgenden Schritte aus:
- Richten Sie Lieferstatusprotokolle ein für Ihr SNS-Thema.
- Sehen Sie sich die Protokolldaten für die Übermittlung Ihrer SNS-Abonnementbestätigungsbenachrichtigung an, die generiert wird, wenn Sie versuchen, einen HTTP(S)-Endpunkt zu abonnieren.
Eventuelle Fehlerprotokolle werden in einer Protokollgruppe im folgenden Format generiert:
sns/your_aws_region/your_account_ID/your_topic_name/Failure
Hinweis: Um zu sehen, warum Ihre Abonnementbestätigungsbenachrichtigung nicht zugestellt wurde, überprüfen Sie providerResponse in Ihren Amazon-CloudWatch-Lieferstatusprotokollen.
Überprüfen Sie das SSL-Zertifikat für Ihren HTTPS-Endpunkt
Wenn Sie einen HTTPS-Endpunkt verwenden, führen Sie die folgenden Schritte zur Fehlerbehebung durch:
-
Bestätigen Sie, dass das vom Endpunkt zurückgegebene SSL-Zertifikat gültig und von einer Zertifizierungsstelle signiert ist, der Amazon SNS vertraut.
-
Stellen Sie sicher, dass Ihr Endpunkt die gesamte Zertifikatskette zurückgibt. Die komplette Kette umfasst alle Zwischenzertifikate.
Hinweis: Sie können Tools von Drittanbietern verwenden, um zu überprüfen, ob das von Ihrem Endpunkt zurückgegebene SSL-Zertifikat vertrauenswürdig und vollständig ist. Sie können beispielsweise den SSL-Servertest von der SSL Labs-Website verwenden.
Oder führen Sie den folgenden OpenSSL-Befehl aus, um zu überprüfen, ob das von Ihrem Endpunkt zurückgegebene SSL-Zertifikat vertrauenswürdig und vollständig ist:
openssl s_client -connect yourHostname:443 -servername yourHostname -showcertsWenn das vom Endpunkt zurückgegebene SSL-Zertifikat nicht vertrauenswürdig oder nicht vollständig ist, können Sie in Ihren CloudWatch-Protokollen die folgende providerResponse sehen:
{ "notification": { "messageId": "...", "topicArn": "arn:aws:sns:ap-northeast-1:***:***", "timestamp": "2021-05-12 06:41:20.778" }, "delivery": { "deliveryId": "***", "destination": "https://***", "providerResponse": "SSLPeerUnverifiedException in HttpClient", "dwellTimeMs": 66171, "attempts": 4 }, "status": "FAILURE" }
Prüfen Sie, ob eine Firewall Ihren HTTP(S)-Endpunkt blockiert
Wenn eine Firewall die Übermittlung der SNS-Abonnementbestätigungsbenachrichtigung an Ihre HTTP(S)-Endpunkte verhindert, lassen Sie die regionsspezifischen IP-Adressen der AWS-Region zu.
Prüfen Sie, ob Ihr HTTP(S)-Endpunkt über eine Abonnementfilterrichtlinie verfügt
Gehen Sie wie folgt vor, wenn Ihr Endpunkt abonniert ist, aber keine Benachrichtigungen zu Themen erhält:
- Prüfen Sie, ob für Ihren Endpunkt eine Abonnementfilterrichtlinie konfiguriert ist. Wenn Ihr HTTP(S)-Abonnement über eine Filterrichtlinie verfügt, werden Benachrichtigungen möglicherweise gefiltert.
- Um zu überprüfen, ob Ihre SNS-Nachrichten gefiltert werden, überprüfen Sie die folgenden CloudWatch-Metriken: NumberOfNotificationsFilteredOut, NumberOfNotificationsFilteredOut-InvalidAttributes und NumberOfNotificationsFilteredOut-NoMessageAttributes.
- Themen
- Application Integration
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor einem Jahr
AWS OFFICIALAktualisiert vor einem Jahr