Condividi tramite


Abilitare la comunicazione HTTPS in Azure Servizi cloud (supporto esteso)

La comunicazione con Servizi cloud di Microsoft Azure (supporto esteso) viene eseguita usando il protocollo HTTPS (Hypertext Transfer Protocol Secure). Questo articolo illustra come abilitare la comunicazione HTTPS per Servizi cloud (supporto esteso).

Prerequisiti

Passaggi generali per la distribuzione del progetto

I passaggi generali per distribuire un progetto Servizi cloud (supporto esteso) in Azure sono i seguenti:

  1. Preparare il certificato.

  2. Configurare il progetto.

  3. Creare il pacchetto del file di progetto nei file di definizione del servizio (con estensione csdef), configurazione del servizio (con estensione cscfg) e pacchetto del servizio (con estensione cspkg) del servizio cloud.

  4. Modificare la configurazione della risorsa Servizi cloud (supporto esteso), se necessario. Ad esempio, è possibile apportare una delle modifiche seguenti:

    1. Aggiornare l'URL del pacchetto.
    2. Configurare l'impostazione DELL'URL.
    3. Aggiornare l'impostazione dei segreti del sistema operativo.
  5. Distribuire e aggiornare il nuovo progetto in Azure.

Nota

Il progetto può essere distribuito tramite diversi metodi, ad esempio usando gli strumenti seguenti:

Indipendentemente dal metodo di distribuzione, i passaggi di distribuzione generali sono gli stessi.

I primi due passaggi sono necessari per tutti i metodi di distribuzione. Questi passaggi sono illustrati nella sezione Modifiche al codice . Anche i passaggi rimanenti sono importanti, ma non richiedono sempre l'intervento manuale dell'utente. Ad esempio, i passaggi potrebbero essere eseguiti automaticamente da uno strumento come Visual Studio. Gli ultimi tre passaggi sono illustrati nella sezione Modifiche alla configurazione .

Modifiche al codice

Per apportare le modifiche al codice per preparare il certificato e configurare il progetto, seguire questa procedura:

  1. Seguire le istruzioni per caricare un certificato nell'insieme di credenziali delle chiavi tramite il passaggio 6.

  2. Annotare l'identificazione personale del certificato (stringa esadecimale a 40 cifre).

  3. Nel file di configurazione del servizio (con estensione cscfg) del progetto aggiungere l'identificazione personale del certificato al ruolo in cui si vuole usare il certificato. Ad esempio, se si vuole usare il certificato come certificato SSL per comunicare con un WebRole, è possibile aggiungere codice XML simile al frammento di codice seguente per WebRole1 come primo elemento figlio dell'elemento radice ServiceConfiguration :

    <Role name="WebRole1">
      <Instances count="1" />
      <Certificates>
        <Certificate
          name="Certificate1"
          thumbprint="0123456789ABCDEF0123456789ABCDEF01234567"
          thumbprintAlgorithm="sha1"
        />
      </Certificates>
    </Role>
    

    È possibile personalizzare il nome del certificato, ma deve corrispondere al nome del certificato usato nel file di definizione del servizio (con estensione csdef).

  4. Nel file di definizione del servizio (con estensione csdef) aggiungere gli elementi seguenti.

    XPath padre Elementi da aggiungere Attributi da usare
    /ServiceDefinition/WebRole/Sites/Site/Bindings Binding name, endpointName
    /ServiceDefinition/WebRole/Endpoints InputEndpoint nome, protocollo, porta, certificato
    /ServiceDefinition/WebRole Certificates/Certificate name, storeLocation, storeName, permissionLevel

    L'elemento Certificates deve essere aggiunto direttamente dopo il tag di chiusura Endpoints . Non contiene attributi. Contiene solo elementi figlio Certificate .

    Ad esempio, il file di definizione del servizio potrebbe essere simile al codice XML seguente:

    <?xml version="1.0" encoding="utf-8"?>
    <ServiceDefinition name="CSESOneWebRoleHTTPS" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2015-04.2.6">
      <WebRole name="WebRole1" vmsize="Standard_D1_v2">
        <Sites>
          <Site name="Web">
            <Bindings>
              <Binding name="Endpoint1" endpointName="Endpoint1" />
              <Binding name="HttpsIn" endpointName="HttpsIn" />
            </Bindings>
          </Site>
        </Sites>
        <Endpoints>
          <InputEndpoint name="Endpoint1" protocol="http" port="80" />
          <InputEndpoint name="HttpsIn" protocol="https" port="443" certificate="Certificate1" />
        </Endpoints>
        <Certificates>
          <Certificate name="Certificate1" storeLocation="LocalMachine" storeName="My" permissionLevel="limitedOrElevated" />
        </Certificates>
      </WebRole>
    </ServiceDefinition>
    

    In questo esempio, il file di definizione del servizio viene modificato per associare un endpoint di input di HttpsIn per il protocollo HTTPS sulla porta 443. Usa il Certificate1 certificato per un archivio con un nome e una posizione di solo per un livello di MyLocalMachine autorizzazione limitato o elevato. I nomi dei InputEndpoint certificati negli elementi e Certificate corrispondono tra loro. Corrispondono anche al nome del certificato usato nel file di configurazione del servizio (con estensione cscfg) del passaggio precedente.

Modifiche alla configurazione

Le istruzioni per la modifica della configurazione del servizio cloud sono diverse a seconda della modalità di distribuzione del servizio cloud. Queste istruzioni sono visualizzate nelle schede seguenti. Ogni scheda rappresenta un metodo di distribuzione diverso.

Prima di procedere, vedere Distribuire un Servizi cloud di Azure (supporto esteso) usando il portale di Azure. Seguire quindi questa procedura per apportare le modifiche di configurazione corrette tramite il portale di Azure:

  1. Passare alla voce di blog intitolata Migrazione manuale dal servizio cloud classico al modello Supporto esteso del servizio cloud con ARM e seguire i passaggi da 7 a 9. Queste istruzioni illustrano come eseguire la procedura seguente:

    • Creare il pacchetto del progetto.

    • Caricare i file del pacchetto del servizio generato (<project-name.cspkg>) e della configurazione del servizio cloud (ServiceConfiguration.Cloud.cscfg) in un contenitore di account di archiviazione per il servizio cloud.

      Nota

      Sarà anche necessario caricare il file di definizione del servizio (ServiceDefinition.csdef) usando lo stesso processo descritto per gli altri due file.

    • Generare un URL di firma di accesso condiviso (SAS) per ogni file caricato.

  2. Nella portale di Azure tornare alla pagina Panoramica del servizio cloud e quindi selezionare Aggiorna.

  3. Nella pagina Aggiorna servizio cloud apportare le modifiche seguenti nella scheda Nozioni di base :

    1. Nel campo Percorso pacchetto/configurazione/definizione del servizio selezionare Da BLOB.

    2. Nel campo Carica un pacchetto (.cspkg, .zip) seguire questa procedura:

      1. Selezionare il collegamento Sfoglia .
      2. Selezionare l'account di archiviazione e il contenitore in cui sono stati caricati i file.
      3. Nella pagina del contenitore selezionare il file corrispondente (in questo caso project-name.cspkg<>) e quindi selezionare il pulsante Seleziona.
    3. Per il campo Carica una configurazione (con estensione cscfg) e il file ServiceConfiguration.Cloud.cscfg , ripetere la sottoprocedura descritta nel passaggio precedente.

    4. Per il campo Carica una definizione del servizio (con estensione csdef) e il file ServiceDefinition.csdef , ripetere di nuovo la sottoprocedura.

  4. Selezionare la scheda Configurazione .

  5. Nel campo Insieme di credenziali delle chiavi selezionare l'insieme di credenziali delle chiavi in cui è stato caricato il certificato (in precedenza nella sezione Modifiche al codice ). Dopo aver trovato il certificato nell'insieme di credenziali delle chiavi selezionato, il certificato elencato visualizza lo statoTrovato.

  6. Per distribuire il progetto appena configurato, selezionare il pulsante Aggiorna .

Dopo aver apportato le modifiche alla configurazione, i clienti potranno comunicare con il sito Web dei servizi cloud usando il protocollo HTTPS. Se il certificato è autofirmato, il browser potrebbe segnalare un avviso che indica che il certificato non è sicuro, ma il browser non blocca la connessione.

Contattaci per ricevere assistenza

In caso di domande o bisogno di assistenza, creare una richiesta di supporto tecnico oppure formula una domanda nel Supporto della community di Azure. È possibile anche inviare un feedback sul prodotto al feedback della community di Azure.