Oktatóanyag: SSL-tanúsítványok feltöltése és kötése Azure App ServiceTutorial: Upload and bind SSL certificates to Azure App Service

Az Azure App Service egy hatékonyan méretezhető, önjavító webes üzemeltetési szolgáltatás.Azure App Service provides a highly scalable, self-patching web hosting service. Ez az oktatóanyag bemutatja, hogyan védheti meg App Service egy egyéni tartományát egy megbízható hitelesítésszolgáltatótól vásárolt tanúsítvánnyal.This tutorial shows you how to secure a custom domain in App Service with a certificate that you purchased from a trusted certificate authority. Azt is bemutatja, hogyan tölthet fel az alkalmazás által igényelt magán-és nyilvános tanúsítványokat.It also shows you how to upload any private and public certificates your app needs. Ha elkészült, a saját DNS-tartományának HTTPS-végpontján férhet hozzá az alkalmazáshoz.When you're finished, you'll be able to access your app at the HTTPS endpoint of your custom DNS domain.

Egyéni SSL-tanúsítványt használó webalkalmazás

Eben az oktatóanyagban az alábbiakkal fog megismerkedni:In this tutorial, you learn how to:

  • Az alkalmazás tarifacsomagjának bővítése.Upgrade your app's pricing tier
  • Egyéni tartomány biztonságossá tétele tanúsítvánnyalSecure a custom domain with a certificate
  • Privát tanúsítvány feltöltéseUpload a private certificate
  • Nyilvános tanúsítvány feltöltéseUpload a public certificate
  • Tanúsítványok megújításaRenew certificates
  • HTTPS kényszerítéseEnforce HTTPS
  • A TLS 1.1/1.2 kényszerítéseEnforce TLS 1.1/1.2
  • A TLS kezelésének automatizálása szkriptekkelAutomate TLS management with scripts

ElőfeltételekPrerequisites

Az oktatóanyag elvégzéséhez:To complete this tutorial:

Privát tanúsítvány előkészítésePrepare a private certificate

A tartomány biztonságossá tételéhez a tanúsítványnak meg kell felelnie az alábbi követelményeknek:To secure a domain, the certificate must meet all the following requirements:

  • Kiszolgáló-hitelesítésre konfigurálvaConfigured for Server Authentication
  • A tanúsítványt megbízható hitelesítésszolgáltatónak kell aláírnia.Signed by a trusted certificate authority
  • Jelszóval védett PFX-fájlként kell exportálni.Exported as a password-protected PFX file
  • Legalább 2048 bit hosszúságú titkos kulcsot kell tartalmaznia.Contains private key at least 2048 bits long
  • Tartalmaznia kell a tanúsítványláncban lévő összes köztes tanúsítványt.Contains all intermediate certificates in the certificate chain

Tipp

Ha egyéni SSL-tanúsítványt kell beszereznie, közvetlenül is beszerezhet egyet a Azure Portal, és importálhatja azt az alkalmazásba.If you need to get a custom SSL certificate, you can get one in the Azure portal directly and import it to your app. Kövesse az App Service-tanúsítványok szóló oktatóanyag utasításait.Follow the App Service Certificates tutorial.

Megjegyzés

Az elliptikus görbéjű titkosítási (ECC-) tanúsítványok együttműködnek az App Service-szel, ez a cikk azonban erre nem tér ki.Elliptic Curve Cryptography (ECC) certificates can work with App Service but are not covered by this article. A hitelesítésszolgáltatóval együttműködve dolgozzák ki az ECC-tanúsítványok létrehozására szolgáló lépéseket.Work with your certificate authority on the exact steps to create ECC certificates.

Miután beszerezte a tanúsítványt a hitelesítésszolgáltatótól, kövesse az ebben a szakaszban ismertetett lépéseket, hogy készen álljon a App Servicere.Once you obtain a certificate from your certificate provider, follow the steps in this section to make it ready for App Service.

Köztes tanúsítványok egyesítéseMerge intermediate certificates

Ha a hitelesítésszolgáltató több tanúsítványt biztosít a tanúsítványláncban, sorrendben kell egyesítenie a tanúsítványokat.If your certificate authority gives you multiple certificates in the certificate chain, you need to merge the certificates in order.

Ehhez nyissa meg a kapott tanúsítványokat egy szövegszerkesztőben.To do this, open each certificate you received in a text editor.

Hozzon létre egy mergedcertificate.crt nevű fájlt az egyesített tanúsítvány számára.Create a file for the merged certificate, called mergedcertificate.crt. Egy szövegszerkesztőben másolja ebbe a fájlba az egyes tanúsítványok tartalmát.In a text editor, copy the content of each certificate into this file. A tanúsítványok sorrendjének egyeznie kell a tanúsítványláncban lévő sorrenddel, a saját tanúsítvánnyal kezdve és a főtanúsítvánnyal végződve.The order of your certificates should follow the order in the certificate chain, beginning with your certificate and ending with the root certificate. Az alábbi példához hasonlóan néz ki:It looks like the following example:

-----BEGIN CERTIFICATE-----
<your entire Base64 encoded SSL certificate>
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
<The entire Base64 encoded intermediate certificate 1>
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
<The entire Base64 encoded intermediate certificate 2>
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
<The entire Base64 encoded root certificate>
-----END CERTIFICATE-----

Tanúsítvány exportálása PFX-fájlbaExport certificate to PFX

Exportálja az egyesített SSL-tanúsítványt a tanúsítványkérés létrehozásához használt titkos kulccsal.Export your merged SSL certificate with the private key that your certificate request was generated with.

Ha OpenSSL használatával hozta létre a tanúsítványkérést, akkor létrehozott egy titkoskulcsfájlt.If you generated your certificate request using OpenSSL, then you have created a private key file. A tanúsítvány PFX-fájlba exportáláshoz futtassa az alábbi parancsot.To export your certificate to PFX, run the following command. Cserélje le a <private-key-file> és <merged-certificate-file> helyőrzőt a titkos kulcs és az egyesített tanúsítványfájl elérési útjára.Replace the placeholders <private-key-file> and <merged-certificate-file> with the paths to your private key and your merged certificate file.

openssl pkcs12 -export -out myserver.pfx -inkey <private-key-file> -in <merged-certificate-file>  

Amikor a rendszer megkéri, adjon meg egy exportálási jelszót.When prompted, define an export password. Ezt a jelszót fogja használni, amikor később feltölti az SSL-tanúsítványt az App Service-be.You'll use this password when uploading your SSL certificate to App Service later.

Ha az IIS vagy a Certreq.exe használatával hozta létre a tanúsítványkérést, telepítse a tanúsítványt a helyi számítógépre, majd exportálja a tanúsítványt PFX-fájlba.If you used IIS or Certreq.exe to generate your certificate request, install the certificate to your local machine, and then export the certificate to PFX.

Most már készen áll a tanúsítvány feltöltésére App Service.You're now ready upload the certificate to App Service.

A webalkalmazás előkészítésePrepare your web app

Ha egy egyéni SSL-tanúsítványt (külső tanúsítványt vagy App Service-tanúsítványt) szeretne a webalkalmazáshoz kötni, az App Service-csomagnak az Alapszintű, Standard, Prémium vagy Izolált szinten kell lennie.To bind a custom SSL certificate (a third-party certificate or App Service certificate) to your web app, your App Service plan must be in the Basic, Standard, Premium, or Isolated tier. Ebben a lépésben ellenőrzi, hogy a webalkalmazás a támogatott tarifacsomagban van-e.In this step, you make sure that your web app is in the supported pricing tier.

Jelentkezzen be az Azure-baLog in to Azure

Nyissa meg az Azure Portalt.Open the Azure portal.

A bal oldali menüben kattintson az App Services lehetőségre, majd a webalkalmazás nevére.From the left menu, click App Services, and then click the name of your web app.

Webalkalmazás kiválasztása

A webalkalmazás felügyeleti lapjára jut.You have landed in the management page of your web app.

A tarifacsomag ellenőrzéseCheck the pricing tier

A webalkalmazás lapjának bal oldali navigációs sávján görgessen a Beállítások szakaszhoz, és válassza a Vertikális felskálázás (App Service-csomag) elemet.In the left-hand navigation of your web app page, scroll to the Settings section and select Scale up (App Service plan).

Vertikális felskálázás menü

Ellenőrizze, hogy a webalkalmazás nem az F1 vagy a D1 szinten van-e.Check to make sure that your web app is not in the F1 or D1 tier. A webalkalmazás aktuális tarifacsomagja sötétkék kerettel van kiemelve.Your web app's current tier is highlighted by a dark blue box.

A tarifacsomag ellenőrzése

Az egyéni SSL nem támogatott az F1 és a D1 szinten.Custom SSL is not supported in the F1 or D1 tier. Ha vertikális felskálázásra van szüksége, kövesse az alábbi szakaszban található lépéseket.If you need to scale up, follow the steps in the next section. Egyébként zárja be a vertikális felskálázás lapon, majd ugorjon a az App Service-csomag vertikális felskálázása szakaszban.Otherwise, close the Scale up page and skip the Scale up your App Service plan section.

Az App Service-csomag vertikális felskálázásaScale up your App Service plan

Válassza ki bármelyik nem ingyenes szintet (B1, B2, B3, vagy a Production kategória bármelyik szintje).Select any of the non-free tiers (B1, B2, B3, or any tier in the Production category). További beállításokhoz kattintson a További lehetőségek megjelenítése lehetőségre.For additional options, click See additional options.

Kattintson az Alkalmaz gombra.Click Apply.

Tarifacsomag kiválasztása

Amikor megjelenik a következő értesítés, a skálázási művelet befejeződött.When you see the following notification, the scale operation is complete.

Vertikális felskálázási értesítés

Egyéni tartomány biztonságossá tételeSecure a custom domain

Tipp

Ha egyéni SSL-tanúsítványt kell beszereznie, közvetlenül is beszerezhet egyet a Azure Portal, és az alkalmazáshoz kötheti.If you need to get a custom SSL certificate, you can get one in the Azure portal directly and bind it to your app. Kövesse az App Service-tanúsítványok szóló oktatóanyag utasításait.Follow the App Service Certificates tutorial.

Egy harmadik féltől származó tanúsítvánnyal rendelkező egyéni tartomány biztonságossá tételéhez töltse fel az előkészített privát tanúsítványt , majd kösse azt az egyéni tartományhoz, de app Service leegyszerűsíti a folyamatot.To secure a custom domain with a third-party certificate, you upload the prepared private certificate and then bind it to the custom domain, but App Service simplifies the process for you. Hajtsa végre a következő lépéseket:Do the following steps:

Kattintson az Egyéni tartományok lehetőségre az alkalmazás bal oldali navigációs sávján, majd kattintson a kötés hozzáadása elemre a védeni kívánt tartományhoz.Click Custom domains in the left navigation of your app, then click Add binding for the domain you want to secure. Ha nem látja a kötés hozzáadása egy tartományhoz, akkor az már biztonságos, és biztonságos SSL-állapottal kell rendelkeznie.If you don't see Add binding for a domain, then it's already secure and should have a Secure SSL state.

Kötés hozzáadása a tartományhoz

Kattintson az Upload Certificate (Tanúsítvány feltöltése) parancsra.Click Upload Certificate.

A PFX Certificate File (PFX-tanúsítványfájl) mezőben válassza ki a PFX-fájlt.In PFX Certificate File, select your PFX file. A Certificate password (Tanúsítvány jelszava) területen írja be a PFX-fájl exportálásakor létrehozott jelszót.In Certificate password, type the password that you created when you exported the PFX file.

Kattintson a Feltöltés gombra.Click Upload.

Tartományhoz tartozó tanúsítvány feltöltése

Várjon, amíg az Azure feltölti a tanúsítványt, és elindítja az SSL-kötések párbeszédpanelt.Wait for Azure to upload your certificate and launch the SSL bindings dialog.

Az SSL-kötések párbeszédpanelen válassza ki a feltöltött tanúsítványt és az SSL-típust, majd kattintson a kötés hozzáadásaelemre.In the SSL bindings dialog, select the certificate you uploaded and the SSL type, and then click Add Binding.

Megjegyzés

A következő SSL-típusok támogatottak:The following SSL types are supported:

  • SNI-alapú SSL – több SNI-alapú SSL-kötés is felvehető.SNI-based SSL - Multiple SNI-based SSL bindings may be added. Ez a beállítás lehetővé teszi, hogy több SSL-tanúsítvány biztosítson védelmet több tartomány számára ugyanazon az IP-címen.This option allows multiple SSL certificates to secure multiple domains on the same IP address. A legtöbb modern böngésző (beleértve az Internet Explorert, a Chrome-ot, a Firefox-ot és az Operát) támogatja az SNI-t (átfogóbb böngészőtámogatási információkat a Kiszolgálónév jelzése című szakaszban talál).Most modern browsers (including Internet Explorer, Chrome, Firefox, and Opera) support SNI (find more comprehensive browser support information at Server Name Indication).
  • IP-based SSL (IP-alapú SSL) – Csak egy IP-alapú SSL-kötés adható hozzá.IP-based SSL - Only one IP-based SSL binding may be added. Ez a beállítás csak egy SSL-tanúsítványnak engedélyezi egy dedikált nyilvános IP-cím védelmét.This option allows only one SSL certificate to secure a dedicated public IP address. Több tartomány védelméhez mindegyik tartományt ugyanazzal az SSL-tanúsítvánnyal kell védelemmel ellátni.To secure multiple domains, you must secure them all using the same SSL certificate. Ez az SSL-kötések hagyományos beállítása.This is the traditional option for SSL binding.

SSL kötése tartományhoz

A tartomány SSL-állapotát mostantól biztonságosértékre kell módosítani.The domain's SSL state should now be changed to Secure.

Biztonságos tartomány

Megjegyzés

Az Egyéni tartományokban található biztonságos állapot azt jelenti, hogy a tanúsítvány védett, de app Service nem vizsgálja, hogy a tanúsítvány önaláírt vagy lejárt, például hogy a böngészők hibát vagy figyelmeztetést jelenítenek-e meg.A Secure state in the Custom domains means that it is secured with a certificate, but App Service doesn't check if the certificate is self-signed or expired, for example, which can also cause browsers to show an error or warning.

Az A rekord újbóli leképezése az IP SSL-reRemap A record for IP SSL

Ha nem használ IP-alapú SSL-t az alkalmazásban, ugorjon a https tesztelése az egyéni tartományhozlehetőségre.If you don't use IP-based SSL in your app, skip to Test HTTPS for your custom domain.

Alapértelmezés szerint az alkalmazás egy megosztott nyilvános IP-címet használ.By default, your app uses a shared public IP address. Ha IP-alapú SSL-sel köt egy tanúsítványt, App Service létrehoz egy új, dedikált IP-címet az alkalmazáshoz.When you bind a certificate with IP-based SSL, App Service creates a new, dedicated IP address for your app.

Ha hozzárendelt egy rekordot az alkalmazáshoz, frissítse a tartomány beállításjegyzékét ezzel az új, dedikált IP-címmel.If you have mapped an A record to your app, update your domain registry with this new, dedicated IP address.

Az alkalmazás egyéni tartomány lapja az új, dedikált IP-címmel frissül.Your app's Custom domain page is updated with the new, dedicated IP address. Másolja ezt az IP-címet, majd képezze le újra az A rekordot erre az új IP-címre.Copy this IP address, then remap the A record to this new IP address.

HTTPS teszteléseTest HTTPS

Már csak annak ellenőrzése van hátra, hogy a HTTPS működik-e az egyéni tartomány esetén.All that's left to do now is to make sure that HTTPS works for your custom domain. A különböző böngészőkben keresse meg a https://<your.custom.domain> lehetőséget, hogy láthassa, hogy az alkalmazást szolgálja-e ki.In various browsers, browse to https://<your.custom.domain> to see that it serves up your app.

Navigálás a portálon egy Azure-alkalmazáshoz

Megjegyzés

Ha az alkalmazás tanúsítvány-ellenőrzési hibákat ad, valószínűleg önaláírt tanúsítványt használ.If your app gives you certificate validation errors, you're probably using a self-signed certificate.

Ha nem így van, előfordulhat, hogy kihagyott néhány köztes tanúsítványt, amikor a tanúsítványt a PFX-fájlba exportálta.If that's not the case, you may have left out intermediate certificates when you export your certificate to the PFX file.

Tanúsítványok megújításaRenew certificates

A bejövő IP-cím kötések törlésekor változhat, akkor is, ha a kötés IP-alapú.Your inbound IP address can change when you delete a binding, even if that binding is IP-based. Ez akkor kifejezetten fontos, ha egy olyan tanúsítványt újít meg, amely már egy IP-alapú kötésben található.This is especially important when you renew a certificate that's already in an IP-based binding. Annak érdekében, hogy az alkalmazás IP-címe ne változzon, kövesse sorrendben az alábbi lépéseket:To avoid a change in your app's IP address, follow these steps in order:

  1. Töltse fel az új tanúsítványt.Upload the new certificate.
  2. Kösse az új tanúsítványt a kívánt egyéni tartományhoz anélkül, hogy törölné a régit.Bind the new certificate to the custom domain you want without deleting the old one. Ez a művelet lecserélni a kötést ahelyett, hogy eltávolítaná a régit.This action replaces the binding instead of removing the old one.
  3. Törölje a régi tanúsítványt.Delete the old certificate.

HTTPS kényszerítéseEnforce HTTPS

Alapértelmezés szerint bárki elérheti az alkalmazást HTTP használatával.By default, anyone can still access your app using HTTP. A HTTP-kéréseket átirányíthatja a HTTPS-portra.You can redirect all HTTP requests to the HTTPS port.

Az alkalmazás lapjának bal oldali navigációs sávján válassza az SSL-beállításokelemet.In your app page, in the left navigation, select SSL settings. Ezután a HTTPS Only (Csak HTTPS) területen válassza az On (Be) elemet.Then, in HTTPS Only, select On.

HTTPS kényszerítése

Ha a művelet befejeződött, nyissa meg az alkalmazásra mutató HTTP URL-címek valamelyikét.When the operation is complete, navigate to any of the HTTP URLs that point to your app. Példa:For example:

  • http://<app_name>.azurewebsites.net
  • http://contoso.com
  • http://www.contoso.com

TLS-verziók kényszerítéseEnforce TLS versions

Az alkalmazása alapértelmezés szerint a TLS 1.2-t engedélyezi, amely az iparági szabványok, például a PCI DSS szerint ajánlott TLS-szint.Your app allows TLS 1.2 by default, which is the recommended TLS level by industry standards, such as PCI DSS. A TLS más verzióinak kényszerítéséhez kövesse az alábbi lépéseket:To enforce different TLS versions, follow these steps:

Az alkalmazás lapjának bal oldali navigációs sávján válassza az SSL-beállításokelemet.In your app page, in the left navigation, select SSL settings. Ezután a TLS version (TLS-verzió) szakaszban válassza ki a kívánt TLS minimális verzióját.Then, in TLS version, select the minimum TLS version you want. Ez a beállítás csak a bejövő hívásokat szabályozza.This setting controls the inbound calls only.

A TLS 1.1 vagy 1.2 kényszerítése

A művelet befejezése után az alkalmazás elutasítja a korábbi TLS-verziójú kapcsolatokat.When the operation is complete, your app rejects all connections with lower TLS versions.

Automatizálás szkriptekkelAutomate with scripts

Parancsfájlokkal automatizálhatja az alkalmazás SSL-kötéseit az Azure CLI vagy a Azure PowerShellhasználatával.You can automate SSL bindings for your app with scripts, using the Azure CLI or Azure PowerShell.

Azure parancssori felület (CLI)Azure CLI

Az alábbi parancs feltölt egy exportált PFX-fájlt, és lekéri az ujjlenyomatot.The following command uploads an exported PFX file and gets the thumbprint.

thumbprint=$(az webapp config ssl upload \
    --name <app-name> \
    --resource-group <resource-group-name> \
    --certificate-file <path-to-PFX-file> \
    --certificate-password <PFX-password> \
    --query thumbprint \
    --output tsv)

A következő parancs SNI-alapú SSL-kötést ad hozzá az előző parancsból származó ujjlenyomat használatával.The following command adds an SNI-based SSL binding, using the thumbprint from the previous command.

az webapp config ssl bind \
    --name <app-name> \
    --resource-group <resource-group-name> \
    --certificate-thumbprint $thumbprint \
    --ssl-type SNI \

A következő parancs kényszeríti az alkalmazást a https használatára.The following command forces the app to use https.

az webapp update \
    --name <app-name> \
    --resource-group <resource-group-name> \
    --https-only true

A következő parancs a TLS legalább 1.2-es verzióját kényszeríti ki.The following command enforces minimum TLS version of 1.2.

az webapp config set \
    --name <app-name> \
    --resource-group <resource-group-name> \
    --min-tls-version 1.2

Azure PowerShellAzure PowerShell

Megjegyzés

A cikk frissítve lett az Azure PowerShell új Az moduljának használatával.This article has been updated to use the new Azure PowerShell Az module. Dönthet úgy is, hogy az AzureRM modult használja, amely továbbra is megkapja a hibajavításokat, legalább 2020 decemberéig.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Ha többet is meg szeretne tudni az új Az modul és az AzureRM kompatibilitásáról, olvassa el az Azure PowerShell új Az moduljának ismertetését.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Az Az modul telepítési útmutatását az Azure PowerShell telepítését ismertető cikkben találja.For Az module installation instructions, see Install Azure PowerShell.

Az alábbi parancs feltölt egy exportált PFX-fájlt, és SNI-alapú SSL-kötést ad hozzá.The following command uploads an exported PFX file and adds an SNI-based SSL binding.

New-AzWebAppSSLBinding `
    -WebAppName <app_name> `
    -ResourceGroupName <resource_group_name> `
    -Name <dns_name> `
    -CertificateFilePath <path_to_PFX_file> `
    -CertificatePassword <PFX_password> `
    -SslState SniEnabled

Tanúsítványok használata a kódbanUse certificates in your code

Ha az alkalmazásnak távoli erőforrásokhoz kell csatlakoznia, és a távoli erőforrásnak tanúsítványalapú hitelesítést kell használnia, nyilvános vagy privát tanúsítványokat tölthet fel az alkalmazásba.If your app needs to connect to remote resources, and the remote resource requires certificate authentication, you can upload public or private certificates to your app. Ezeket a tanúsítványokat nem kell minden egyéni tartományhoz kötnie az alkalmazásban.You don't need to bind these certificates to any custom domain in your app. További információ: Use an SSL certificate in your application code in Azure App Service (SSL-tanúsítvány használata az alkalmazáskódban az Azure App Service-ben).For more information, see Use an SSL certificate in your application code in Azure App Service.

Következő lépésekNext steps

Ez az oktatóanyag bemutatta, hogyan végezheti el az alábbi műveleteket:In this tutorial, you learned how to:

  • Az alkalmazás tarifacsomagjának bővítése.Upgrade your app's pricing tier
  • Az egyéni tanúsítvány App Service-hez kötéseBind your custom certificate to App Service
  • Tanúsítványok megújításaRenew certificates
  • HTTPS kényszerítéseEnforce HTTPS
  • A TLS 1.1/1.2 kényszerítéseEnforce TLS 1.1/1.2
  • A TLS kezelésének automatizálása szkriptekkelAutomate TLS management with scripts

A következő oktatóanyag azt mutatja be, hogy hogyan használhatja az Azure Content Delivery Networköt.Advance to the next tutorial to learn how to use Azure Content Delivery Network.

További információ: Use an SSL certificate in your application code in Azure App Service (SSL-tanúsítvány használata az alkalmazáskódban az Azure App Service-ben).For more information, see Use an SSL certificate in your application code in Azure App Service.