Nomi di dominio personalizzati e certificati gestiti gratuiti in App contenitore di Azure

App contenitore di Azure consente di associare uno o più domini personalizzati a un'app contenitore. È possibile configurare automaticamente un certificato gestito gratuito per il dominio personalizzato.

Se si vuole configurare un dominio personalizzato usando il proprio certificato, vedere Nomi di dominio e certificati personalizzati in App contenitore di Azure.

Nota

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

Requisiti per i certificati gratuiti

App contenitore di Azure fornisce un certificato gestito gratuito per il dominio personalizzato. Senza bisogno di alcun intervento da parte dell'utente, questo certificato server TLS/SSL viene rinnovato automaticamente, purché l'app continui a soddisfare i requisiti per i certificati gestiti.

I requisiti sono:

  • Abilitare l'ingresso HTTP e assicurarsi che l'app contenitore sia accessibile pubblicamente.

  • Deve avere un record A per i domini apex che punti all'indirizzo IP dell'ambiente di App contenitore.

  • Stabilire un record CNAME per i sottodomini direttamente associato al nome di dominio generato automaticamente dell'app contenitore. Il mapping a un valore CNAME intermedio blocca il rilascio e il rinnovo dei certificati. Esempi di valori CNAME sono i gestori del traffico, Cloudflare e servizi simili.

Nota

Per garantire che il rilascio del certificato e i successivi rinnovi avvengano senza problemi, ogni volta che viene assegnato il certificato gestito tutti i requisiti devono essere soddisfatti.

Aggiungere un dominio personalizzato e un certificato gestito

  1. Passare all'app contenitore nel portale di Azure

  2. Verificare che l'app abbia l'ingresso HTTP abilitato 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 Aggiungi dominio personalizzato.

  5. Nella finestra Aggiungi dominio personalizzato e certificato, in Certificato TLS/SSL selezionare Certificato gestito.

  6. In dominio immettere il dominio da aggiungere.

  7. 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 è 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.
  8. 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.

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

      Tipo di record Host Valore
      Un @ Indirizzo IP dell'ambiente di 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 <appname>.<region>.azurecontainerapps.io generato automaticamente dell'app contenitore
      TXT asuid. seguito dal sottodominio (ad esempio, asuid.www) Codice di verifica del dominio
  9. Selezionare Convalida.

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

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

  11. 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.

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. Verificare che l'app contenitore abbia l'ingresso HTTP abilitato.

    az containerapp ingress show -n <CONTAINER_APP_NAME> -g <RESOURCE_GROUP_NAME>
    

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

    az containerapp ingress enable -n <CONTAINER_APP_NAME> -g <RESOURCE_GROUP_NAME> \
            --type external --target-port <TARGET_PORT> --transport auto
    

    Sostituire <CONTAINER_APP_NAME> con il nome dell'app contenitore, <RESOURCE_GROUP_NAME> con il nome del gruppo di risorse in cui si trova l'app contenitore e <TARGET_PORT> con la porta su cui è in ascolto l'app contenitore.

  4. Se si sta configurando un dominio apex, ottenere l'indirizzo IP dell'ambiente di App contenitore.

    az containerapp env show -n <ENVIRONMENT_NAME> -g <RESOURCE_GROUP_NAME> -o tsv --query "properties.staticIp"
    

    Sostituire <ENVIRONMENT_NAME> con il nome dell'ambiente e <RESOURCE_GROUP_NAME> con il nome del gruppo di risorse che contiene l'ambiente.

  5. Se si sta configurando un sottodominio, ottenere il dominio generato automaticamente dell'app contenitore.

    az containerapp show -n <CONTAINER_APP_NAME> -g <RESOURCE_GROUP_NAME> -o tsv --query "properties.configuration.ingress.fqdn"
    

    Sostituire <CONTAINER_APP_NAME> con il nome dell'app contenitore e <RESOURCE_GROUP_NAME> con il nome del gruppo di risorse in cui si trova l'app contenitore.

  6. Ottenere il codice di verifica del dominio.

    az containerapp show -n <CONTAINER_APP_NAME> -g <RESOURCE_GROUP_NAME> -o tsv --query "properties.customDomainVerificationId"
    

    Sostituire <CONTAINER_APP_NAME> con il nome dell'app contenitore e <RESOURCE_GROUP_NAME> con il nome del gruppo di risorse in cui si trova l'app contenitore.

  7. 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.

    • Se si sta configurando un dominio apex, creare i record DNS seguenti:

      Tipo di record Host Valore
      Un @ Indirizzo IP dell'ambiente di App contenitore
      TXT asuid Codice di verifica del dominio
    • Se si sta configurando un sottodominio, creare i record DNS seguenti:

      Tipo di record Host Valore
      CNAME Sottodominio (ad esempio, www) Dominio generato automaticamente dell'app contenitore
      TXT asuid. seguito dal sottodominio (ad esempio, asuid.www) Codice di verifica del dominio
  8. Aggiungere il dominio all'app contenitore.

    az containerapp hostname add --hostname <DOMAIN_NAME> -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME>
    

    Sostituire <DOMAIN_NAME> con il nome di dominio che si vuole aggiungere, <RESOURCE_GROUP_NAME> con il nome del gruppo di risorse che include l'app contenitore e <CONTAINER_APP_NAME> con il nome dell'app contenitore.

  9. Configurare il certificato gestito e associare il dominio all'app contenitore.

    az containerapp hostname bind --hostname <DOMAIN_NAME> -g <RESOURCE_GROUP_NAME> -n <CONTAINER_APP_NAME> --environment <ENVIRONMENT_NAME> --validation-method <VALIDATION_METHOD>
    

    Sostituire <DOMAIN_NAME> con il nome di dominio che si vuole aggiungere, <RESOURCE_GROUP_NAME> con il nome del gruppo di risorse che include l'app contenitore, <CONTAINER_APP_NAME> con il nome dell'app contenitore e <ENVIRONMENT_NAME> con il nome dell'ambiente.

    • 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.

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

Passaggi successivi