Condividi tramite


Nomi di dominio personalizzati e bring your own certificates in App Azure Container

App contenitore di Azure consente di associare uno o più domini personalizzati a un'app contenitore.

  • Ogni nome di dominio deve essere associato a un certificato TLS/SSL. È possibile caricare il proprio certificato o usare un certificato gestito gratuito.
  • I certificati vengono applicati all'ambiente dell'app contenitore e sono associati a singole app contenitore. Per aggiungere certificati, è necessario disporre dell'accesso in base al ruolo all'ambiente.
  • Sono necessari i certificati di dominio SNI (Server Name Identification).
  • L'ingresso deve essere abilitato per l'app contenitore.

Nota

Se si configura un suffisso DNS dell'ambiente personalizzato (Domain Name System), non è possibile aggiungere un dominio personalizzato contenente questo suffisso all'app contenitore.

Aggiungere un dominio personalizzato e un certificato

Importante

Se si usa un nuovo certificato, è necessario disporre di un file di certificato di dominio SNI esistente disponibile per il caricamento in Azure.

  1. Passare all'app contenitore nel portale di Azure

  2. Verificare che l'app abbia abilitato l'ingresso selezionando Ingresso nella sezione Impostazioni . Se l'ingresso non è abilitato, abilitarlo seguendo questa procedura:

    1. Impostare Ingresso HTTP su Abilitato.
    2. Selezionare l'impostazione di Traffico in ingresso desiderata.
    3. Immettere la Porta di destinazione.
    4. Seleziona Salva.
  3. Nella sezione Impostazioni selezionare Domini personalizzati.

  4. Selezionare il pulsante Aggiungi dominio personalizzato.

  5. Nella finestra Aggiungi dominio personalizzato e certificato, in Certificato TLS/SSL selezionare Bring your own certificate (Bring your own certificate).

  6. In dominio immettere il dominio da aggiungere.

  7. Selezionare Aggiungi un certificato.

  8. Nella finestra Aggiungi certificato immettere un nome per il certificato in Nome certificato.

  9. Nella sezione File di certificato cercare il file di certificato da caricare.

  10. Selezionare Convalida.

  11. Quando la convalida ha esito positivo, selezionare Aggiungi.

  12. Nella finestra Aggiungi dominio personalizzato e certificato, in Certificato selezionare il certificato appena aggiunto.

  13. Selezionare il Tipo di record del nome host in base al tipo di dominio.

    Tipo di dominio Tipo di record Note
    Dominio radice Record A Un dominio apex è un dominio a livello radice del dominio. Ad esempio, se la zona DNS (Domain Name System) è contoso.com, contoso.com è il dominio apex.
    Sottodominio CNAME Un sottodominio è un dominio che fa parte di un altro dominio. Ad esempio, se la zona DNS è contoso.com, www.contoso.com è un esempio di un sottodominio che può essere configurato nella zona.
  14. Usando il provider DNS che ospita il dominio, creare record DNS in base al tipo di record del nome host selezionato usando i valori che compaiono nella sezione Convalida del dominio. I record puntano il dominio all'app contenitore e verificano che l'utente ne sia il proprietario. L'installazione dipende dal fatto che si usino domini personalizzati con la funzionalità endpoint privato (anteprima):

    • Se è stato selezionato Record A, creare i record DNS seguenti:

      Tipo di record Host Valore
      Un @ Indirizzo IP dell'ambiente App contenitore.
      TXT asuid Codice di verifica del dominio.
    • Se è stato selezionato CNAME, creare i record DNS seguenti:

      Tipo di record Host Valore
      CNAME Sottodominio (ad esempio, www) Dominio generato dell'app contenitore.
      TXT asuid. seguito dal sottodominio (ad esempio, asuid.www) Codice di verifica del dominio.
  15. Selezionare il pulsante Convalida .

  16. Al termine della convalida, selezionare il pulsante Aggiungi .

  17. Al termine dell'operazione, il nome di dominio viene visualizzato nell'elenco dei domini personalizzati con lo stato Protetto. Passare al dominio per verificare che sia accessibile.

Nota

Per le app contenitore negli ambienti interni di App contenitore, è necessaria una configurazione aggiuntiva per usare domini personalizzati con ingresso con ambito rete virtuale.

App contenitore supporta sottodomini e domini apex. Ogni tipo di dominio richiede un tipo di record DNS e un metodo di convalida diverso.

Tipo di dominio Tipo di record Metodo di convalida Note
Dominio radice Record A HTTP Un dominio apex è un dominio a livello radice del dominio. Ad esempio, se la zona DNS è contoso.com, contoso.com è il dominio apex.
Sottodominio CNAME CNAME Un sottodominio è un dominio che fa parte di un altro dominio. Ad esempio, se la zona DNS è contoso.com, www.contoso.com è un esempio di un sottodominio che può essere configurato nella zona.
  1. Accedere ad Azure con l'interfaccia della riga di comando di Azure.

    az login
    
  2. Installare quindi l'estensione App contenitore di Azure per l'interfaccia della riga di comando.

    az extension add --name containerapp --upgrade
    
  3. Impostare le variabili di ambiente seguenti. Sostituire con i <PLACEHOLDERS> valori.

    RESOURCE_GROUP = "<RESOURCE_GROUP>"
    CONTAINER_APP = "<CONTAINER_APP>"
    ENVIRONMENT = "<ENVIRONMENT>"
    TARGET_PORT = "<TARGET_PORT>"
    DOMAIN_NAME = "<DOMAIN_NAME>"
    CERTIFICATE_LOWERCASE_NAME = "<CERTIFICATE_LOWERCASE_NAME>"
    CERTIFICATE_LOCAL_PATH = "<CERTIFICATE_LOCAL_PATH>"
    CERTIFICATE_PASSWORD = "<CERTIFICATE_PASSWORD>"
    
    • Sostituire <CERTIFICATE_LOCAL_PATH> con il percorso locale del file del certificato.
    • Sostituire <CERTIFICATE_LOWERCASE_NAME> con un nome di certificato minuscolo univoco all'interno dell'ambiente.
    • Sostituire <TARGET_PORT> con la porta su cui è in ascolto l'app contenitore.
  4. Verificare che l'app contenitore abbia l'ingresso HTTP abilitato.

    az containerapp ingress show \
        -n $CONTAINER_APP \
        -g $RESOURCE_GROUP
    

    Se l'ingresso non è abilitato, abilitarlo seguendo questa procedura:

    az containerapp ingress enable \
        -n $CONTAINER_APP \
        -g $RESOURCE_GROUP \
        --type external \
        --target-port $TARGET_PORT \
        --transport auto
    
  5. Se si sta configurando un dominio apex, ottenere l'indirizzo IP dell'ambiente di App contenitore.

    az containerapp env show \
        -n $ENVIRONMENT \
        -g $RESOURCE_GROUP \
        -o tsv \
        --query "properties.staticIp"
    
  6. Se si sta configurando un sottodominio, ottenere il dominio generato automaticamente dell'app contenitore.

    az containerapp show \
        -n $CONTAINER_APP \
        -g $RESOURCE_GROUP \
        -o tsv \
        --query "properties.configuration.ingress.fqdn"
    
  7. Ottenere il codice di verifica del dominio.

    az containerapp show \
        -n $CONTAINER_APP \
        -g $RESOURCE_GROUP \
        -o tsv \
        --query "properties.customDomainVerificationId"
    
  8. Usando il provider DNS che ospita il dominio, creare record DNS in base al tipo di record selezionato usando i valori che compaiono nella sezione Convalida del dominio. I record puntano il dominio all'app contenitore e verificano che l'utente ne sia il proprietario. L'installazione dipende dal fatto che si usino domini personalizzati con la funzionalità endpoint privato (anteprima):

    • Se è stato selezionato Record A, creare i record DNS seguenti:

      Tipo di record Host Valore
      Un @ Indirizzo IP dell'ambiente App contenitore.
      TXT asuid Codice di verifica del dominio.
    • Se è stato selezionato CNAME, creare i record DNS seguenti:

      Tipo di record Host Valore
      CNAME Sottodominio (ad esempio, www) Dominio generato dell'app contenitore.
      TXT asuid. seguito dal sottodominio (ad esempio, asuid.www) Codice di verifica del dominio.
  9. Caricare il certificato nell'ambiente.

    az containerapp env certificate upload \
        -g $RESOURCE_GROUP \
        --name $ENVIRONMENT \
        --certificate-file $CERTIFICATE_LOCAL_PATH \
        --password $CERTIFICATE_PASSWORD \
        --certificate-name $CERTIFICATE_LOWERCASE_NAME
    
  10. Associare il certificato e il dominio all'app contenitore.

    az containerapp hostname bind \
        --hostname $DOMAIN_NAME \
        -g $RESOURCE_GROUP \
        -n $CONTAINER_APP \
        --environment $ENVIRONMENT \
        --certificate $CERTIFICATE_LOWERCASE_NAME \
        --validation-method <VALIDATION_METHOD>
    
    • Se si sta configurando un record A, sostituire <VALIDATION_METHOD> con HTTP.

    • Se si sta configurando un CNAME, sostituire <VALIDATION_METHOD> con CNAME.

    Il rilascio del certificato e l'aggiunta del dominio all'app contenitore possono richiedere qualche minuto.

  11. Al termine dell'operazione, passare al dominio per verificare che sia accessibile.

Gestione dei certificati

È possibile gestire i certificati tramite l'ambiente App contenitore o tramite una singola app contenitore.

Ambiente

La finestra Certificati dell'ambiente App contenitore presenta una tabella di tutti i certificati associati all'ambiente.

È possibile gestire i certificati tramite le azioni seguenti:

Azione Descrizione
Aggiunta Selezionare il collegamento Aggiungi certificato per aggiungere un nuovo certificato.
Elimina Selezionare l'icona del cestino per rimuovere un certificato.
Renew Il campo Stato integrità della tabella indica che un certificato scade presto entro 60 giorni dalla data di scadenza. Per rinnovare un certificato, selezionare il collegamento Rinnova certificato per caricare un nuovo certificato.

App contenitore

La finestra Domini personalizzati dell'app contenitore presenta un elenco di domini personalizzati associati all'app contenitore.

È possibile gestire i certificati per un singolo nome di dominio selezionando il pulsante con i puntini di sospensione (...), che apre la finestra di associazione del certificato. Nella finestra seguente è possibile selezionare un certificato da associare al nome di dominio selezionato.

Passaggi successivi