HTTPS-Abonnement (benutzerdefinierte URL) erstellen
So erstellen Sie ein HTTPS-Abonnement (benutzerdefinierte URL) in Notifications.
Bevor Sie beginnen
Stellen Sie sicher, dass der URL-Endpunkt, den Sie für das Abonnement verwenden möchten, die folgenden Anforderungen erfüllt:
- Authentifizierung
- Nur die Basiszugriffsauthentifizierung wird unterstützt. Weitere Informationen finden Sie unter RFC-2617: HTTP-Authentifizierung: Basis- und Digest-Access-Authentifizierung. Sie können einen Benutzernamen und ein Kennwort in der URL angeben, wie in
https://user:password@domain.com
oderhttps://user@domain.com
. Codieren (maskieren) Sie in der URL die unter RFC-3986: Uniform Resource Identifier (URI): Allgemeine Syntax angegebenen Zeichen. - Zertifikate
- Nur gültige Certificate Authority-(CA-)Zertifikate werden als vertrauenswürdig angesehen. Es sind keine selbstsignierten Zertifikate zulässig.
- Verschlüsselung
- Wie bei jedem Abonnementprotokoll werden Daten im Endpunkt (einschließlich Benutzername und Kennwort, sofern in der URL angegeben) während der Übertragung über die SSL-Verbindung (bei Verwendung von HTTPS) sowie im Ruhezustand in der Servicedatenbank verschlüsselt.
- POST-Aufrufe
- Der angegebene Endpunkt muss POST-Aufrufe akzeptieren. Der Notifications Service verwendet POST-Aufrufe, um Nachrichten an HTTPS-Endpunkte (benutzerdefinierte URL) zu senden.
- Öffentlich zugänglich
-
Der Endpunkt für das HTTPS-Abonnement (benutzerdefinierte URL) muss öffentlich zugänglich sein.
Notifications unterstützt keine privaten Endpunkte für HTTPS-Abonnements (benutzerdefinierte URL). Wenn Sie ein HTTPS-Abonnement (benutzerdefinierte URL) in einem Thema erstellen, erstellt Notifications eine HTTP-POST-Anforderung an Ihren Endpunkt über das öffentliche Internet.
Um zu prüfen, ob Ihr Endpunkt öffentlich zugänglich ist, erstellen Sie von Ihrem lokalen Rechner aus eine POST-Beispielanforderung.
Beispiel:
curl -X POST <endpoint> -H "Content-Type:text/plain; charset=UTF-8" --data {"key":"value"} -v
Wenn Ihr Endpunkt öffentlich zugänglich ist, gibt der Befehl den folgenden HTTP-Statuscode zurück:
200 OK
- Unauthorized-Header
-
Der Clientservice muss die Headerantwort
HTTP/1.1 401 Unauthorized
unterstützen. Wenn der Endpunkt eine nicht authentifizierte Anforderung empfängt, muss er diese Antwort mit dem HeaderWWW-Authenticate
zurückgeben. Der Headerwert muss das SchlüsselwortBasic
und weitere optionale Parameter enthalten, die in RFC-2617: HTTP Authentication: Basic and Digest Access Authentication unterstützt werden.Beispiel:
WWW-Authenticate: Basic
Abfrageparameter sind in URLs nicht zulässig. Benutzerdefinierte HTTP-Headerparameter werden nicht unterstützt. Wenn eine Nachricht an den URL-Endpunkt gesendet wird, fügt der Notifications-Service Standardmetadaten zur HTTP-Anforderung im Header hinzu.
Diese Schritte zeigen, wie Sie den Bereich Abonnement erstellen auf der Detailseite für das Thema öffnen, dem Sie das Abonnement hinzufügen möchten. Sie können diesen Bereich auch über die Listenseite Abonnements öffnen und das Thema im Bereich angeben: Wählen Sie Abonnement erstellen aus, und wählen Sie ein Abonnementthema aus. Notifications erstellt das HTTPS-(Benutzerdefinierte URL-)Abonnement und sendet eine Bestätigungs-URL an den zugehörigen Endpunkt. Die Bestätigungs-URL ist drei (3) Tage lang gültig. Das Abonnement ist bis zum Eingang der Bestätigung ausstehend.
Verwenden Sie den Befehl oci ons subscription create und die erforderlichen Parameter, um ein HTTPS-(benutzerdefinierte URL-)Abonnement zu erstellen:
oci ons subscription create --protocol "CUSTOM_HTTPS" --subscription-endpoint <URL> [...]
Eine vollständige Liste der Parameter und Werte für CLI-Befehle finden Sie in der Befehlszeilenreferenz für Notifications.
Führen Sie den Vorgang CreateSubscription aus, um ein HTTPS-Abonnement (benutzerdefinierte URL) zu erstellen.
Weitere Schritte
Um das neue Abonnement zu aktivieren, navigieren Sie zu der Bestätigungs-URL, die an den HTTPS-Endpunkt gesendet wurde.
Ein neues Abonnement muss sich zwar im selben Compartment wie das übergeordnete Thema befinden, Sie können es jedoch nach der Erstellung in ein anderes Compartment verschieben. Siehe Abonnements in ein anderes Compartment verschieben.