Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wichtig
Cloud Services (klassisch) ist jetzt ab dem 1. September 2024 für alle Kunden veraltet. Alle vorhandenen ausgeführten Bereitstellungen werden beendet und von Microsoft heruntergefahren, und die Daten sind ab Oktober 2024 dauerhaft verloren. Neue Bereitstellungen sollten das neue azure Resource Manager-basierte Bereitstellungsmodell Azure Cloud Services (erweiterter Support) verwenden.
Transport Layer Security (TLS), zuvor als „Secure Socket Layer-Verschlüsselung“ (SSL) bezeichnet, ist die am häufigsten verwendete Methode zum Sichern von Daten, die über das Internet gesendet werden. In diesem gängigen Verfahren wird erläutert, wie Sie einen HTTPS-Endpunkt für eine Web-Rolle angeben und ein TLS/SSL-Zertifikat hochladen, um Ihre Anwendung abzusichern.
Hinweis
Die Verfahren in dieser Aufgabe gelten für Azure Cloud Services; informationen zu App Services finden Sie hier.
Diese Aufgabe erfordert den Einsatz einer Produktionsumgebung. Informationen zur Nutzung einer Bereitstellung in der Testumgebung finden Sie am Ende dieses Artikels.
Lesen Sie , wie Sie zuerst einen Azure Cloud Service (klassisch) erstellen und bereitstellen , wenn Sie noch keinen Clouddienst erstellt haben.
Schritt 1: Abrufen eines TLS/SSL-Zertifikats
Wenn Sie TLS für eine Anwendung konfigurieren möchten, müssen Sie zuerst ein TLS/SSL-Zertifikat erhalten, das von einer Zertifizierungsstelle (ZS) signiert wurde. Dabei handelt es sich um einen vertrauenswürdigen Partner, der Zertifikate zu diesem Zweck ausstellt. Wenn Sie noch kein Zertifikat haben, müssen Sie eines von einem Unternehmen erwerben, das TLS/SSL-Zertifikate verkauft.
Das Zertifikat muss die folgenden Anforderungen für TLS/SSL-Zertifikate in Azure erfüllen:
- Das Zertifikat muss einen öffentlichen Schlüssel enthalten.
- Das Zertifikat muss für den Schlüsselaustausch erstellt werden und in eine PFX-Datei (Persönlicher Informationsaustausch) exportiert werden können.
- Der Betreffname des Zertifikats muss der Domain entsprechen, die für den Zugriff auf den Clouddienst verwendet wird. Für die Domäne „cloudapp.net“ können Sie kein TLS/SSL-Zertifikat von einer Zertifizierungsstelle beziehen. Sie müssen einen benutzerdefinierten Domänennamen erwerben, den Sie für den Zugriff auf Ihren Dienst verwenden können. Wenn Sie ein Zertifikat von einer Zertifizierungsstelle anfordern, muss der Name des Zertifikatsinhabers dem benutzerdefinierten Domänennamen entsprechen, der für den Zugriff auf Ihre Anwendung verwendet wird. Wenn Ihr benutzerdefinierter Domänenname z. B. contoso.com ist, fordern Sie ein Zertifikat von Ihrer Zertifizierungsstelle für .contoso.com oder www.contoso.com an.
- Das Zertifikat muss mindestens 2048-Bit-Verschlüsselung verwenden.
Für Testzwecke können Sie ein selbstsigniertes Zertifikat erstellen und verwenden. Ein selbstsigniertes Zertifikat wird nicht über eine Zertifizierungsstelle authentifiziert. Daher kann in diesem Fall die Domäne „cloudapp.net“ als Website-URL verwendet werden. Die folgende Aufgabe verwendet z. B. ein selbstsigniertes Zertifikat, bei dem der im Zertifikat verwendete gemeinsame Name (Common Name, CN) sslexample.cloudapp.net ist.
Daraufhin müssen Sie Informationen zum Zertifikat in Ihre Definitions- und Konfigurationsdateien für den Dienst einfügen.
Schritt 2: Ändern der Definitions- und Konfigurationsdateien für den Dienst
Ihre Anwendung muss so konfiguriert sein, dass das Zertifikat verwendet wird. Außerdem muss ein HTTPS-Endpunkt hinzugefügt werden. Daher müssen die Definitions- und Konfigurationsdateien für den Dienst aktualisiert werden.
Öffnen Sie in Ihrer Entwicklungsumgebung die Dienstdefinitionsdatei (CSDEF), fügen Sie einen Abschnitt "Zertifikate " im Abschnitt "WebRole " hinzu, und fügen Sie die folgenden Informationen zum Zertifikat (und Zwischenzertifikaten) hinzu:
<WebRole name="CertificateTesting" vmsize="Small"> ... <Certificates> <Certificate name="SampleCertificate" storeLocation="LocalMachine" storeName="My" permissionLevel="limitedOrElevated" /> <!-- IMPORTANT! Unless your certificate is either self-signed or signed directly by the CA root, you must include all the intermediate certificates here. You must list them here, even if they are not bound to any endpoints. Failing to list any of the intermediate certificates may cause hard-to-reproduce interoperability problems on some clients.--> <Certificate name="CAForSampleCertificate" storeLocation="LocalMachine" storeName="CA" permissionLevel="limitedOrElevated" /> </Certificates> ... </WebRole>Der Abschnitt "Zertifikate " definiert den Namen unseres Zertifikats, seinen Speicherort und den Namen des Speichers, in dem es sich befindet.
Berechtigungen (
permissionLevel-Attribut) können auf einen der folgenden Werte festgelegt werden:Berechtigungswert BESCHREIBUNG BegrenztOderErhöht (Standard) Alle Rollenprozesse können auf den privaten Schlüssel zugreifen. erhöht Nur Prozesse mit erhöhten Rechten können auf den privaten Schlüssel zugreifen. Fügen Sie in Ihrer Dienstdefinitionsdatei ein InputEndpoint-Element im Abschnitt "Endpunkte " hinzu, um HTTPS zu aktivieren:
<WebRole name="CertificateTesting" vmsize="Small"> ... <Endpoints> <InputEndpoint name="HttpsIn" protocol="https" port="443" certificate="SampleCertificate" /> </Endpoints> ... </WebRole>Fügen Sie in Ihrer Dienstdefinitionsdatei ein Binding-Element im Abschnitt Sites hinzu. Mit diesem Element wird eine HTTPS-Bindung hinzugefügt, die Ihrer Website den Endpunkt zuordnet:
<WebRole name="CertificateTesting" vmsize="Small"> ... <Sites> <Site name="Web"> <Bindings> <Binding name="HttpsIn" endpointName="HttpsIn" /> </Bindings> </Site> </Sites> ... </WebRole>Alle erforderlichen Änderungen an der Dienstdefinitionsdatei sind jetzt abgeschlossen. Sie müssen ihr jedoch noch die Zertifikatinformationen hinzufügen.
Fügen Sie in Ihrer Dienstkonfigurationsdatei (CSCFG), ServiceConfiguration.Cloud.cscfg, einen Zertifikatwert mit dem Ihres Zertifikats hinzu. Das folgende Codebeispiel enthält Details des Abschnitts "Zertifikate ", mit Ausnahme des Fingerabdruckwerts.
<Role name="Deployment"> ... <Certificates> <Certificate name="SampleCertificate" thumbprint="9427befa18ec6865a9ebdc79d4c38de50e6316ff" thumbprintAlgorithm="sha1" /> <Certificate name="CAForSampleCertificate" thumbprint="79d4c38de50e6316ff9427befa18ec6865a9ebdc" thumbprintAlgorithm="sha1" /> </Certificates> ... </Role>
(In diesem Beispiel wird sha1 für den Fingerabdruckalgorithmus verwendet. Geben Sie den entsprechenden Wert für den Fingerabdruckalgorithmus Ihres Zertifikats an.)
Die Definitions- und Konfigurationsdateien für den Dienst wurden aktualisiert. Erstellen Sie jetzt Ihr Bereitstellungspaket, um es in Azure hochzuladen. Wenn Sie cspack verwenden, verwenden Sie nicht das Flag "/generateConfigurationFile ", da dadurch die eingefügten Zertifikatinformationen überschrieben werden.
Schritt 3: Hochladen eines Zertifikats
Stellen Sie eine Verbindung mit dem Azure-Portal her, und ...
Wählen Sie im Abschnitt "Alle Ressourcen " des Portals Ihren Clouddienst aus.
Wählen Sie "Zertifikate" aus.
Wählen Sie oben im Zertifikatbereich "Hochladen" aus.
Geben Sie die Datei, das Kennwort ein, und wählen Sie dann " Hochladen" am unteren Rand des Dateneingabebereichs aus.
Schritt 4: Herstellen einer Verbindung mit der Rolleninstanz über HTTPS
Jetzt wird die Bereitstellung in Azure ausgeführt, und Sie können eine HTTPS-Verbindung herstellen.
Wählen Sie die Website-URL aus, um den Webbrowser zu öffnen.
Ändern Sie in Ihrem Webbrowser den Link so, dass er https anstelle von HTTP verwendet, und besuchen Sie dann die Seite.
Hinweis
Wenn Sie ein selbstsigniertes Zertifikat verwenden und zu einem HTTPS-Endpunkt wechseln, der mit dem selbstsignierten Zertifikat verknüpft ist, wird im Browser ein u. U. Zertifikatfehler angezeigt. Verwenden Sie zur Lösung dieses Problems ein Zertifikat, das von einer vertrauenswürdigen Zertifizierungsstelle signiert wurde. Bis zu diesem Zeitpunkt können Sie den Fehler ignorieren. (Sie können auch das selbstsignierte Zertifikat zum Zertifikatspeicher der vertrauenswürdigen Zertifizierungsstelle des Benutzers hinzufügen.)
Tipp
Wenn Sie TLS für eine Staging- statt für eine Produktionsbereitstellung verwenden möchten, müssen Sie zuerst die URL festlegen, die für die Stagingbereitstellung verwendet werden soll. Nachdem Ihr Clouddienst bereitgestellt wurde, wird die URL der Stagingumgebung durch die GUID der Bereitstellungs-ID in diesem Format bestimmt:
https://deployment-id.cloudapp.net/Erstellen Sie ein Zertifikat mit dem gemeinsamen Namen (CN) gleich der GUID-basierten URL (z. B. 328187776e774ceda8fc57609d404462.cloudapp.net). Fügen Sie das Zertifikat über das Portal Ihrem bereitgestellten Clouddienst hinzu. Fügen Sie dann Ihren CSDRF- und CSCfg-Dateien die Zertifikatinformationen hinzu, packen Sie Ihre Anwendung neu, und aktualisieren Sie Ihre gestaffelte Bereitstellung, sodass das neue Paket verwendet wird.
Nächste Schritte
- Allgemeine Konfiguration Ihres Clouddiensts.
- Erfahren Sie, wie Sie einen Clouddienst bereitstellen.
- Konfigurieren Sie einen benutzerdefinierten Domänennamen.
- Verwalten Sie Ihren Clouddienst.