Come Configurare Let’s Encrypt SSL per un Azure Web App

0
35

Mentre Azure fornisce molti strumenti, non sono tutto. Ci sarà uno sguardo a come è possibile configurare un funzionale Let’s Encrypt SSL per qualsiasi Azure Web App, al fine di fornire il necessario livello di sicurezza per tutte le operazioni online.

Che cosa È Let’s Encrypt?

Prima di tutto, andiamo Let’s Encrypt fuori del modo. Così, che cosa è? E ‘ un sistema automatizzato, libero, aperto Autorità di certificazione. Questo significa che è possibile acquisire completamente gratuito SLL certs, e modificare l’impostazione predefinita struttura di URL di: HTTP:// HTTP://.

Ma qual è il trucco? Sono davvero così semplice? Beh, le certificazioni SSL solo ultimi 90 giorni, non di più anni come altri certs possibile. Tuttavia, c’è una ragione per questo. È così automazione è incoraggiato, e che si può fare il vostro SSL esperienza dimenticabile (finchè avete qualche script o un processo in background che rinnova automaticamente e installa i certs).

Al giorno d’oggi, non c’è davvero alcun motivo per non usare Let’s Encrypt, ed è evidente che la maggioranza e il suo uso in una varietà di industrie e i loro conseguenti Applicazioni Web.

Prerequisiti per la Configurazione:

  1. Attivo un account Azure. (Gli studenti possono ottenere gratuitamente Azure Risorse.)
  2. Qualsiasi applicazione web ospitata tramite l’App di Servizio. Lo stack non importa.
  3. Personalizzato voce DNS che punta al Web App.

In un mondo ideale, la tua App e App Piano di Servizio all’interno dello stesso gruppo di risorse. Ma è possibile fare a meno di questo.

Passo 1: Account di Archiviazione per WebJobs

Bene, il primo passo è quello di creare un Account di Archiviazione di Azure, che è un’estensione che ci permetterà di rinnovare la certificazione ogni periodo di 90 giorni tramite Azure WebJobs.

L’account non deve essere di BlobStorage, perché non funziona. Dovrebbe essere di “Storage” o “StorageV2.”

Adesso che si è fatto. Si aggiungerà due diverse impostazioni: “AzureWebJobsDashboard” e “AzureWebJobsStorage” con una stringa che li collega alla precedentemente creato Account di Archiviazione.

La stringa simile a questa:

DefaultEndpointsProtocol=https;Nomeaccount=[youraccount];AccountKey=[propria];

Passo 2: Automatizzare il Processo

Per l’estensione precedente lavoro, senza intervento da parte nostra, dobbiamo creare un “Azure Principale di Servizio”, che lavora fuori il concetto di delega tramite Azure AD ingresso.

Individuare se stessi verso l’Azure Active Directory in cui si desidera creare la nuova applicazione. All’interno del pannello, selezionare “App Registrazioni.”

  1. Creare una nuova applicazione, e configurarlo come si può vedere in questa immagine.
  2. Generare un cliente segreto e salvarlo in un luogo sicuro. Se non lo fai, non sarà in grado di accedere di nuovo via con testo in chiaro.
  3. Tornare alla Panoramica, e salvare il “Client ID.”
  4. Ora, è necessario Contribuire a fornire l’accesso al Servizio Principale. Dovrebbe essere collegato al Gruppo di Risorse della vostra Applicazione “Piano di Servizio” e “Servizio di App.”
  5. Nel menu successivo, selezionare il “Collaboratore” di ruolo, e per aggiungere il creato “Servizio Principale.”
  6. Se si dispone di altri servizi del gruppo, è possibile aggiungere il ruolo di Collaboratore per loro.

Si può armeggiare con le impostazioni come ti piace, ma che è su di esso per il Servizio Principale.

Passo 3: Let’s Encrypt Estensione

Ora che avete tutti i della scuola secondaria di prerequisiti, è finalmente possibile installare l’estensione e configurare di conseguenza.

Vai al “Servizio di App,” e la ricerca per l’Azzurro Let’s Encrypt estensione “SJKP.” Dopo l’installazione, è possibile procedere con la configurazione.

Per impostare l’estensione, è necessario navigare a te per il “Strumenti Avanzati” pagina del “Servizio di App.” Lo si può trovare cercando nella barra di ricerca, e probabilmente porterà a un sito come questo: https://yourdomain.scm.azurewebsite.net.

Per accedere alle impostazioni, fai clic su “Sito Estensioni” pulsante e fare clic su “Lancio.” Ora la pagina di configurazione dovrebbe aprire, e si hanno le seguenti opzioni.

  • Conduttore: l’Azzurro ANNUNCIO del direttore, in cui il Principale Servizio è stato creato.
  • ClientID: lo stesso ID del client da prima.
  • ClientSecret: il cliente stesso Segreto da prima.
  • ResourceGroupName: il nome di il Gruppo di Risorse del Servizio di App che si sta utilizzando.
  • SubscriptionID: l’ID del tuo abbonamento, che si utilizza per il gruppo di Risorse.
  • Aggiornare le Impostazioni dell’Applicazione: sempre impostato a True, in modo che tutte le impostazioni vengono salvate. In caso contrario, le impostazioni non saranno disponibili per la WebsJobs per installare i nuovi certificati.
  • ServicePlanResourceGroupName: Se la tua App di Servizio e del Piano di Servizio sono nello stesso gruppo, il nome sarà lo stesso come il ResourceGroupName. In caso contrario, sarà necessario immettere il nome del Gruppo di Risorse di effettivo Servizio in posizione in pianta.

Dopo aver configurato tutte le opzioni, sarete portati ad una panoramica dei Certificati SSL Associazioni & domini personalizzati. Perché è ancora necessario per la loro generazione, è possibile selezionare i domini per la richiesta e presentare una “Richiesta Get” per il certificato SSL.

Ma prima di fare questo, si deve aggiungere il tuo indirizzo email, in modo che si può ottenere avvisi nel caso in cui qualcosa va storto con il certificato (come loro non aggiornate o non rinnovata).

E che su di esso. Ora che tutto è impostato, e si può godere la ricompensa per il completamento del compito vostro.

Potenziali Problemi

Perché l’estensione ha bisogno di accedere alla tue pagine in ordine per il dominio di autorizzazione, assicurarsi che l’URL è accessibile al pubblico tramite HTTP://yourdomain.com/.well-known/acme-challenge/.

Se si verifica un errore e l’URL non viene raggiunto, probabilmente il set di regole sul web.config che impediscono l’accesso o il tuo HTTPS viene applicata tramite l’App Impostazioni del Servizio.

Inoltre, poiché Let’s Encrypt utilizza HTTP-01 meccanismo di ACME, avrà luogo un token casuale nel file sul vostro server web, quindi si tenterà di recuperare tramite HTTP. Se si imposta la Web App per https, la richiesta verrà negato, che è qualcosa che si desidera evitare.