2015-11-11 20 views
9

Quando utilizzo la funzione di recupero nelle mie app native, le cose funzionano come previsto su iOS, ma danno un errore in Android. L'errore è 'TypeError: Network request failed'. Facendo un po 'di debug, ho trovato che la causa dell'errore sembra essere la seguente:' java.security.cert.CertPathValidatorException: Trust anchor per il percorso di certificazione non trovato '.Fetch in react nativo non funziona con ssl su Android

Come mai funziona su iOS e non su Android, e come posso risolvere il problema? L'errore è originario o in qualche modo più profondo?

+1

E 'probabilmente un problema di certificato server. Qual è il server da dove stai cercando di recuperare? Assicurati di controllare il certificato SSL del tuo server con questo sito Web https://www.digicert.com/help/ o con l'esecuzione. openssl s_client -debug -connect www.thedomaintocheck.com:443 – Orlando

+0

sono due dispositivi separati. iOS potrebbe avere fiducia stabilita. – vijayst

risposta

1

C'è un paio di soluzioni di questo problema qui menzionato: Trust Anchor not found for Android SSL Connection

Tuttavia, se si è il proprietario del server. Suggerirei di rivedere il certificato ssl del server. Penso che sia a causa della mancanza del certificato CA nel tuo file pem. Quello che ho fatto per il mio sito è che ho creato fullchain.pem concedendo il contenuto di file.crt e file.ca-bundle come tale ordine.

Quindi configuro nginx (il mio server dietro nginx) con: ssl_certificate /etc/nginx/ssl/fullchain.pem;

Il documento originale: https://www.digicert.com/ssl-certificate-installation-nginx.htm

Speranza che aiuta

Problemi correlati