Wiązanie niestandardowego certyfikatu TLS/SSL z aplikacją App Service przy użyciu interfejsu wiersza polecenia

Ten przykładowy skrypt tworzy aplikację w App Service z powiązanymi zasobami, a następnie wiąże z nią certyfikat TLS/SSL nazwy domeny niestandardowej. Do pracy z tym przykładem potrzebne są:

  • Dostęp do strony konfiguracji serwera DNS rejestratora domen.
  • Prawidłowa wartość . Plik PFX i jego hasło do certyfikatu TLS/SSL, który chcesz przekazać i powiązać.

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure .

Wymagania wstępne

Przykładowy skrypt

Uruchamianie usługi Azure Cloud Shell

Usługa Azure Cloud Shell to bezpłatna interaktywna powłoka, której możesz używać do wykonywania kroków opisanych w tym artykule. Udostępnia ona wstępnie zainstalowane i najczęściej używane narzędzia platformy Azure, które są skonfigurowane do użycia na koncie.

Aby otworzyć usługę Cloud Shell, wybierz pozycję Wypróbuj w prawym górnym rogu bloku kodu. Możesz również uruchomić usługę Cloud Shell w oddzielnej karcie przeglądarki, przechodząc do strony https://shell.azure.com.

Po otwarciu Cloud Shell sprawdź, czy powłoka Bash jest wybrana dla danego środowiska. Kolejne sesje będą używać interfejsu wiersza polecenia platformy Azure w środowisku powłoki Bash, wybierz pozycję Kopiuj, aby skopiować bloki kodu, wkleić go do Cloud Shell i nacisnąć klawisz Enter, aby go uruchomić.

Logowanie do platformy Azure

Cloud Shell jest automatycznie uwierzytelniany na początkowym koncie zalogowanym. Użyj poniższego skryptu, aby zalogować się przy użyciu innej subskrypcji, zastępując <Subscription ID> element identyfikatorem subskrypcji platformy Azure. Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure .

subscription="<subscriptionId>" # add subscription here

az account set -s $subscription # ...or use 'az login'

Aby uzyskać więcej informacji, zobacz Ustawianie aktywnej subskrypcji lub logowanie interakcyjne

Aby utworzyć aplikację internetową

# Bind a custom TLS/SSL certificate to an App Service app
# set -e # exit if error
# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
resourceGroup="msdocs-app-service-rg-$randomIdentifier"
tag="configure-ssl-certificate-webapp-only.sh"
appServicePlan="msdocs-app-service-plan-$randomIdentifier"
webapp="msdocs-web-app-$randomIdentifier"

# Create a resource group.
echo "Creating $resourceGroup in "$location"..."
az group create --name $resourceGroup --location "$location" --tag $tag

# Create an App Service plan in Basic tier (minimum required by custom domains).
echo "Creating $appServicePlan"
az appservice plan create --name $appServicePlan --resource-group $resourceGroup --sku B1

# Create a web app.
echo "Creating $webapp"
az webapp create --name $webapp --resource-group $resourceGroup --plan $appServicePlan

# Copy the result of the following command into a browser to see the static HTML site.
site="http://$webapp.azurewebsites.net"
echo $site
curl "$site"

Mapuj przygotowaną niestandardową nazwę domeny na aplikację internetową

  1. Utwórz następującą zmienną zawierającą w pełni kwalifikowaną nazwę domeny.

    fqdn=<Replace with www.{yourdomain}>
    
  2. Skonfiguruj rekord CNAME mapujący w pełni kwalifikowaną nazwę domeny na domyślną nazwę domeny aplikacji internetowej ($webappname.azurewebsites.net).

  3. Zamapuj nazwę domeny na aplikację internetową.

    az webapp config hostname add --webapp-name $webappname --resource-group myResourceGroup --hostname $fqdn
    
    echo "You can now browse to http://$fqdn"
    

Przekazywanie i wiązanie certyfikatu SSL

  1. Utwórz następującą zmienną zawierającą ścieżkę pfx i hasło.

    pfxPath=<replace-with-path-to-your-.PFX-file>
    pfxPassword=<replace-with-your=.PFX-password>
    
  2. Przekaż certyfikat SSL i pobierz odcisk palca.

    thumbprint=$(az webapp config ssl upload --certificate-file $pfxPath --certificate-password $pfxPassword --name $webapp --resource-group $resourceGroup --query thumbprint --output tsv)
    
  3. Powiąż przekazany certyfikat SSL z aplikacją internetową.

    az webapp config ssl bind --certificate-thumbprint $thumbprint --ssl-type SNI --name $webapp --resource-group $resourceGroup
    
    echo "You can now browse to https://$fqdn"
    

Czyszczenie zasobów

Użyj następującego polecenia, aby usunąć grupę zasobów i wszystkie skojarzone z nią zasoby przy użyciu polecenia az group delete — chyba że masz bieżące zapotrzebowanie na te zasoby. Utworzenie niektórych z tych zasobów może zająć trochę czasu, a także usunięcie.

az group delete --name $resourceGroup

Przykładowa dokumentacja

W tym skrypcie użyto następujących poleceń. Każde polecenie w tabeli stanowi link do dokumentacji polecenia.

Polecenie Uwagi
az group create Tworzy grupę zasobów, w której są przechowywane wszystkie zasoby.
az appservice plan create Tworzy plan usługi App Service.
az webapp create Tworzy aplikację usługi App Service.
az webapp config hostname add Mapuje domenę niestandardową na aplikację usługi App Service.
az webapp config ssl upload Przekazuje certyfikat TLS/SSL do aplikacji App Service.
az webapp config ssl bind Wiąże przekazany certyfikat TLS/SSL z aplikacją App Service.

Następne kroki

Aby uzyskać więcej informacji na temat interfejsu wiersza polecenia platformy Azure, zobacz dokumentację interfejsu wiersza polecenia platformy Azure.

Dodatkowe przykłady skryptów interfejsu wiersza polecenia usługi App Service można znaleźć w dokumentacji usługi Azure App Service.