I webhook di Dialogflow CX richiedono endpoint HTTPS che presentino certificati TLS validi quando vengono verificati utilizzando l'archivio di attendibilità predefinito di Google. Tuttavia, potresti voler utilizzare certificati CA personalizzati, che non possono essere firmati da un'autorità di certificazione riconosciuta dall'archivio di attendibilità predefinito di Google. Ad esempio, i server webhook che si trovano all'interno della rete VPC privata di Google presentano questo problema. In questo caso, puoi caricare i certificati personalizzati in Dialogflow CX durante la creazione dei webhook e i certificati caricati sostituiranno l'archivio di attendibilità predefinito di Google.
I certificati CA personalizzati possono essere certificati autofirmati o certificati radice personalizzati. Puoi caricare più certificati nel caso in cui tu voglia ruotarli. I certificati devono essere in
formato DER
e devono essere firmati con il
nome alternativo del soggetto
corrispondente all'URL webhook. Se l'
keyUsage
è presente, il suo valore deve essere digitalSignature.
Server autofirmato di prova
Di seguito è riportata la configurazione di un server di prova:
- Prepara i file dei certificati autofirmati.
Utilizziamo www.example.com come dominio di esempio.
openssl genrsa -out server.key 2048 openssl req -nodes -new -sha256 -newkey rsa:2048 -key server.key -subj "/CN=www.example.com" -out server.csr openssl x509 -req -days 3650 -sha256 -in server.csr -signkey server.key -out server.crt -extfile <(printf "\nsubjectAltName='DNS:www.example.com'") openssl x509 -in server.crt -out server.der -outform DER
- Avvia il server HTTPS utilizzando il certificato del server (
server.crt) e la chiave privata (server.key) creati nel passaggio precedente. Supponiamo che il server sia in ascolto sulla porta 443. -
Esegui il test per connetterti al server localmente.
curl --cacert server.crt https://www.example.com --resolve www.example.com:443:127.0.0.1
Webhook di prova con certificato personalizzato
Dopo aver configurato il server con il certificato personalizzato, puoi creare una risorsa webhook con le seguenti istruzioni aggiuntive per utilizzare il certificato personalizzato:
- Imposta l'URL corrispondente al dominio firmato con il certificato (
https://www.example.comnella demo precedente). È tua responsabilità assicurarti che il tuo dominio venga risolto correttamente nell'indirizzo IP del server. - Carica il certificato personalizzato in formato DER. Si tratta del file
server.dernella demo autofirmata precedente o del certificato radice personalizzato. - Per i webhook integrati con l'accesso alla rete privata di Service Directory, configura il tuo endpoint di Service Directory con l'indirizzo IP e la porta del server e fornisci il servizio Service Directory durante la creazione del webhook.