Configurazione ed esecuzione del debug della rete

Questo documento fornisce informazioni relative alla configurazione della rete e al debug di potenziali problemi.

Il client dell'API di WhatsApp Business prevede specifici requisiti di rete per la connessione ai server WhatsApp. Se la tua azienda non è in grado di eseguire le operazioni descritte di seguito, sfortunatamente non possiamo supportare la tua integrazione di WhatsApp.

Siamo consapevoli che aziende diverse hanno diverse configurazioni di rete e diverse priorità in materia di sicurezza. Contatta l'Assistenza diretta se questo documento non è sufficiente a chiarire le modalità di configurazione per la tua situazione perché disponi di requisiti di connettività o sicurezza speciali.

Il client dell'API di WhatsApp Business richiede una connessione TCP di lunga durata. Di tanto in tanto saranno eseguite delle richieste in modo che la connessione non rimanga inattiva. Tuttavia, dovrai assicurarti che firewall, router, sicurezza ecc. non causino l'interruzione delle connessioni TCP di lunga durata.

Porte

Per il traffico in uscita sono utilizzate due porte:

  • 5222
  • 443

Non sono in ascolto né sono utilizzate per il traffico in entrata. Il firewall della tua azienda continuerà a garantire la consueta protezione dal traffico in entrata.

La porta predefinita per il client dell'API di WhatsApp Business è 5222. Se questa non è disponibile, l'app effettuerà il fallback alla porta 443. La porta 443 deve essere aperta per HTTPS al minimo per la registrazione e il riavvio dell'app. Puoi lasciare chiusa la porta 5222 e aprire la porta 443, ma non puoi aprire la porta 5222 e lasciare chiusa la porta 443.

Ti consigliamo di aprire entrambe le porte e autorizzare tutto il traffico in uscita.

Protocolli

Il client dell'API di WhatsApp Business usa due tipi di protocolli:

  • chatd
  • HTTPS

Il protocollo di chat proprietario di WhatsApp, noto come chatd, è usato per l'invio di messaggi e informazioni crittografati da e verso i server WhatsApp. Trattandosi di un protocollo proprietario, la porta che si intende aprire deve essere inserita in una lista di elementi consentiti per tutto il traffico in uscita. Alcuni firewall e proxy provocano l'interruzione delle connessioni non SSL, andando a compromettere la capacità dell'app di connettersi ai server WhatsApp.

HTTPS viene utilizzato da WhatsApp durante la registrazione ed è necessario anche per i riavvii. Ti sconsigliamo di bloccare HTTPS dopo la registrazione perché in futuro potresti dover ripetere la registrazione o riavviare l'app.

Indirizzi IP

WhatsApp usa numerosi indirizzi IP per i suoi server. Puoi provare ad autorizzare tutti gli indirizzi IP. Tuttavia, l'ideale sarebbe consentire esclusivamente il traffico in uscita e le connessioni dalle porte specificate in alto.

Indirizzi IP server di WhatsApp e intervalli (file .zip)
(aggiornato il 26 luglio 2022, applicabile dal 26 luglio 2022)

Questa lista potrebbe subire frequenti modifiche. Pertanto, ti consigliamo di autorizzare tutto il traffico in uscita dalla porta 5222 o 443 per evitare di dover aggiornare questa lista di elementi consentiti nella tua rete a ogni modifica.

Nomi host

Puoi aggiungere i server WhatsApp alla lista di elementi consentiti usando il nome host piuttosto che l'indirizzo IP.

I nomi host dei server WhatsApp ai quali il client dell'API di WhatsApp Business richiede connettività sono:

  • .*.cdn.whatsapp.net
  • g.whatsapp.net
  • graph.facebook.com
  • graph.whatsapp.com
  • media-.*.cdn.whatsapp.net
  • media..*.fna.whatsapp.net
  • mmg.whatsapp.net
  • pps.whatsapp.net
  • static.whatsapp.net
  • v.whatsapp.net

Immagini del contenitore Docker

Dovrai anche autorizzare l'accesso al nostro repository in JFrog, dove sono contenute le immagini del contenitore in modo che possano essere scaricate.

Devi usare i nomi host nella lista di elementi consentiti per JFrog in quanto non è possibile fornire gli indirizzi IP.

I nomi host JFrog necessari sono:

  • docker.whatsapp.biz
  • dl.bintray.com
  • akamai.bintray.com

Firewall

A seconda del firewall in uso e della sua modalità di funzionamento, la semplice aggiunta alla lista di elementi consentiti dei nomi host potrebbe non funzionare; se ciò accade, dovrai aggiungere alla lista tutti gli indirizzi IP.

Ecco alcuni esempi di comportamento del firewall che non funzionerà insieme solo ai nomi host in una lista di elementi consentiti:

  • Firewall che eseguono una query DNS (rispetto al DNS configurato nel tuo data center) e utilizzano gli IP risultanti nella whitelist
  • Firewall che ricercano query DNS in uscita dalle macchine nel data center e utilizzano gli indirizzi IP indicati nella risposta alla lista di elementi consentiti
  • Firewall che ricercano nomi host nell'handshake HTTP/HTTPS

Nell'eventualità in cui il firewall mostri uno di questi comportamenti, procedi all'utilizzo degli indirizzi IP in una lista di elementi consentiti.

Proxy

Configura i proxy di rete impostando le seguenti variabili ambientali sul proxy in uso, quindi passale a Coreapp:

  • http_proxy
  • https_proxy

Test con WADebug

Lo strumento WADebug consente di verificare rapidamente che il contenitore Coreapp abbia accesso a tutti i server WhatsApp richiesti. Con WADebug installato, eseguire:

  wadebug partial check_network