Questa guida ti mostra come installare un certificato SSL su Google App Engine, sia nel modo moderno (un certificato gratuito gestito da Google che App Engine fornisce e rinnova automaticamente per qualsiasi dominio personalizzato) sia nel modo tradizionale (caricando il tuo certificato di terze parti quando hai bisogno di una CA specifica, un certificato EV/OV, o un wildcard). App Engine è una PaaS completamente gestita, quindi tutto questo avviene nella Google Cloud Console o tramite la CLI gcloud; non devi mai accedere a un server.
Prerequisiti
Prima di installare un certificato, assicurati che siano presenti i seguenti elementi:
- Un’applicazione App Engine distribuita (ambiente standard o flessibile) in un progetto Google Cloud.
- Un dominio registrato di cui hai il controllo, con accesso ai relativi record DNS.
- Il dominio verificato per il tuo account Google tramite Google Search Console o Webmaster Central (App Engine legge la proprietà verificata da lì).
- La CLI gcloud installata e autenticata, se preferisci la riga di comando alla Console.
- Il ruolo Owner, Editor o App Engine Admin sul progetto.
I domini personalizzati e SSL su App Engine funzionano in questo ordine: verifica il dominio, mappalo alla tua applicazione, punta il DNS verso App Engine, quindi lascia che Google fornisca un certificato gestito oppure carica il tuo.
Opzione 1: SSL gratuito gestito da Google (consigliato)
I certificati gestiti da Google sono gratuiti, forniti automaticamente tramite Let’s Encrypt e rinnovati automaticamente finché il dominio rimane mappato. Questa è l’opzione predefinita per qualsiasi nuovo dominio personalizzato su App Engine ed è la scelta giusta per la maggior parte dei siti. I certificati gestiti non supportano i wildcard: ogni nome host (per esempio example.com e www.example.com) è coperto dal proprio certificato.
Passo 1: Verifica la proprietà del tuo dominio
Nel tuo browser, accedi a Google Search Console con lo stesso account Google che possiede il progetto Cloud, aggiungi il tuo dominio come proprietà e completa uno dei metodi di verifica (il record DNS TXT è il più affidabile). App Engine non ti permetterà di mappare un dominio che non hai verificato.
Passo 2: Mappa il dominio personalizzato nella Console
- Apri la Google Cloud Console e seleziona il tuo progetto.
- Dal menu di navigazione, scegli App Engine > Settings.
- Apri la scheda Custom Domains e clicca su Add a custom domain.
- Scegli il dominio verificato dal menu a tendina, quindi inserisci i sottodomini che vuoi servire (tipicamente il dominio radice example.com e www.example.com).
- Clicca su Save mappings, quindi segui le istruzioni a schermo per aggiungere i record A, AAAA e CNAME suggeriti presso il tuo provider DNS.
Per fare lo stesso dalla riga di comando, esegui:
gcloud app domain-mappings create www.example.com --project=YOUR_PROJECT_ID
gcloud app domain-mappings create example.com --project=YOUR_PROJECT_ID
Passo 3: Attendi il certificato gestito
Una volta che il DNS si è propagato, App Engine richiede automaticamente un certificato Let’s Encrypt per ogni nome host mappato. Il provisioning è solitamente rapido, ma la propagazione DNS può richiedere fino a 24 ore. Controlla lo stato con:
gcloud app domain-mappings list --project=YOUR_PROJECT_ID
Ogni mappatura mostra uno stato SSL MANAGED_CERTIFICATE_STATUS: OK quando il certificato è attivo. Durante l’emissione vedrai PROVISIONING o PENDING_DNS; di solito si risolve da solo una volta che i record DNS puntano agli IP di Google.
Passo 4: Forza HTTPS per i visitatori (ambiente standard)
Nell’ambiente standard di App Engine, reindirizza ogni richiesta a HTTPS aggiungendo secure: always a ogni handler in app.yaml:
handlers:
- url: /.*
script: auto
secure: always
redirect_http_response_code: 301
Distribuisci la modifica con gcloud app deploy. Nell’ambiente flessibile, gestisci il reindirizzamento da HTTP a HTTPS a livello di applicazione o di load balancer.
Opzione 2: Carica il tuo certificato SSL di terze parti
Scegli questo percorso quando hai bisogno di un certificato wildcard, un certificato OV o EV da una Certificate Authority specifica, oppure un certificato già emesso per il tuo dominio. App Engine accetta un unico file PEM contenente il certificato foglia e gli eventuali certificati intermedi, oltre a una chiave privata RSA non cifrata codificata in PEM. Sono ammessi fino a cinque certificati totali nel file PEM caricato (un certificato foglia più fino a quattro intermedi), e i certificati caricati possono essere riutilizzati tra progetti nella stessa organizzazione Cloud.
Passo 1: Genera la CSR e ordina il certificato
Se hai già generato la tua CSR e ricevuto il certificato emesso dalla tua CA, passa direttamente al Passo 2.
Una CSR (Certificate Signing Request) è un blocco di testo codificato contenente i tuoi dati di contatto e di dominio che la CA usa per verificare e firmare il tuo certificato. Hai due modi per crearla:
- Usa il nostro CSR Generator per produrre la CSR e la chiave privata nel tuo browser.
- Generala localmente con OpenSSL; consulta come generare una CSR su Google App Engine.
Invia la CSR (inclusi i marcatori —–BEGIN CERTIFICATE REQUEST—– e —–END CERTIFICATE REQUEST—–) alla CA durante il tuo ordine. Salva la chiave privata corrispondente in un luogo sicuro; ti servirà durante l’installazione.
Passo 2: Combina il certificato e la catena in un unico PEM
Se la CA ha fornito file separati (il tuo certificato server più uno o più intermedi), concatenali nell’ordine corretto (prima il tuo certificato, poi gli intermedi). Apri un terminale nella cartella che contiene i file ed esegui:
cat yourdomain.crt intermediate.crt > concat.crt
Su Windows PowerShell, l’equivalente è:
Get-Content yourdomain.crt, intermediate.crt | Set-Content concat.crt
Il risultato è un file di certificato codificato in PEM con la catena completa. Se hai anche bisogno di convertire i formati (per esempio da .pfx o .p12 a PEM), usa i nostri strumenti SSL.
La chiave privata deve essere una chiave RSA non cifrata codificata in PEM (per esempio myserver.key.pem). Se la tua è protetta da password, rimuovi la passphrase con:
openssl rsa -in encrypted.key -out myserver.key.pem
Passo 3: Carica il certificato nella Cloud Console
- Apri la Google Cloud Console e seleziona il tuo progetto.
- Vai su menu di navigazione > App Engine > Settings, quindi apri la scheda SSL Certificates.
- Clicca su Upload a new certificate.
- Assegna al certificato un Name, quindi carica concat.crt sotto PEM encoded X.509 public key certificate e myserver.key.pem sotto Unencrypted PEM encoded RSA private key.
- Clicca su Upload.
Passo 4: Assegna il certificato ai tuoi domini
Nella pagina dei dettagli del certificato, seleziona i domini personalizzati che vuoi proteggere, quindi clicca su Save. Se un dominio sta attualmente utilizzando un certificato gestito da Google, disattiva prima la modalità gestita per esso; altrimenti il caricamento non verrà applicato.
Passo 5 (opzionale): Carica e associa dalla CLI gcloud
La stessa operazione dalla riga di comando:
gcloud app ssl-certificates create
--display-name="example.com 2026"
--certificate=concat.crt
--private-key=myserver.key.pem
Il comando restituisce il nuovo ID del certificato. Associalo a un dominio mappato e disattiva la modalità gestita per quella mappatura:
gcloud app domain-mappings update www.example.com
--certificate-id=CERT_ID
--certificate-management=manual
Per tornare a un certificato gratuito gestito da Google in seguito, esegui:
gcloud app domain-mappings update www.example.com
--certificate-management=automatic
Note e limiti
- I certificati gestiti non coprono i wildcard. Per *.example.com, carica un certificato wildcard come nell’Opzione 2.
- Let’s Encrypt limita l’emissione a 50 certificati gestiti a settimana per dominio base. Il limite raramente rappresenta un problema, ma conta se mappi molti sottodomini contemporaneamente.
- I certificati caricati che non sono assegnati a nessun dominio vengono eliminati automaticamente dopo 30 giorni.
- Il massimo è un certificato foglia più quattro intermedi in un unico file PEM caricato.
- Un certificato caricato è visibile in tutti i progetti della tua organizzazione Cloud, quindi un singolo wildcard può essere riutilizzato.
Verifica l’installazione SSL
Apri il tuo sito con https:// e conferma la presenza del lucchetto, quindi esegui una scansione più approfondita con il nostro SSL Checker per un report immediato sul certificato, sulla catena e sul supporto dei protocolli.
Domande Frequenti
Sì. Una volta che mappi un dominio personalizzato verificato alla tua applicazione App Engine e punti il DNS verso Google, App Engine fornisce automaticamente un certificato SSL gratuito tramite Let’s Encrypt e lo rinnova per te. Non paghi per questo e non devi caricare nulla.
I certificati gratuiti gestiti da Google non supportano i wildcard. Per proteggere *.example.com, acquista un certificato wildcard, combina il certificato foglia e gli intermedi in un unico PEM, quindi caricalo sotto App Engine > Settings > SSL Certificates (Opzione 2 sopra).
App Engine non può emettere un certificato Let’s Encrypt finché i record DNS del tuo dominio non puntano agli IP di Google forniti quando hai creato la mappatura. Verifica che i record A, AAAA e CNAME corrispondano ai valori mostrati sotto Custom Domains, quindi attendi la propagazione del DNS, che può richiedere fino a 24 ore. Esegui gcloud app domain-mappings list per ricontrollare lo stato.
Nell’ambiente standard, aggiungi secure: always (e opzionalmente redirect_http_response_code: 301) a ogni handler in app.yaml, quindi ridistribuisci con gcloud app deploy. Nell’ambiente flessibile, esegui il reindirizzamento a livello di applicazione o di load balancer.
Solo se hai caricato il tuo. I certificati gestiti da Google vengono rinnovati automaticamente finché il dominio rimane mappato e il DNS punta ancora ad App Engine. I certificati di terze parti caricati scadono alla data stabilita dalla CA (attualmente fino a circa un anno per i certificati TLS pubblici), quindi devi ripetere i passaggi di caricamento e assegnazione prima di quella data.
Risparmia il 10% sui certificati SSL ordinando oggi stesso da SSL Dragon!
Emissione rapida, crittografia avanzata, affidabilità del browser al 99,99%, assistenza dedicata e garanzia di rimborso entro 25 giorni. Codice coupon: SAVE10


