Bonjour à tous,
Je suis confronté à un bug sur un serveur en prod et ça dépasse mes compétences.
Le contexte :
Dans ma société nous avons développé une application mobile en React Native qui communique avec une API écrite en Node JS.
Pour notre environnement de développement l'API est déployée sur une instance Heroku. Pour la prod elle est déployé sur une petite instance AWS.
Tout fonctionne très bien sur Heroku (peut importe le smartphone). En revanche sur notre instance de prod (AWS/NGINX) tout fonctionne très bien pour la plupart des smartphone SAUF pour les smartphones sous Android 7.0.
L'erreur coté React Native/AXIOS n'est pas très claire (erreur générique) :
Si je lance le débugger de React (via Chrome) je n'ai plus de soucis, l'app React arrive à parfaitement communiquer avec l'API de prod.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Network Error
Voici la conf NGINX sur la prod :
J'ai mis des logs dans mon app NodeJS et la requête n'arrive jamais à NodeJS. Coté NGINX je n'ai pas vu des logs non plus dans mes fichiers.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 upstream api { server 0.0.0.0:3000; } server { listen 443 ssl http2; server_name api.dipongo.co; access_log /var/log/nginx/api.dipongo.access.log; error_log /var/log/nginx/api.dipongo.error.log; client_max_body_size 6m; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://api; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; proxy_set_header Origin 'http://app'; proxy_set_header X-Real-IP $remote_addr; proxy_set_header x-forwarded-for $remote_addr; proxy_cache_bypass $http_upgrade; proxy_headers_hash_max_size 512; proxy_redirect http://api https://api.dipongo.co; } include global/ssl.conf; ssl_certificate /etc/letsencrypt/live/api.dipongo.co/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/api.dipongo.co/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/api.dipongo.co/fullchain.pem; }
Si vous avez des idées n'hésitez surtout parce que je suis pas mal dans le flou là.
Merci
EDIT :
En lançant depuis le débugger de Firefox (et non depuis Chromium) j'arrive à avoir une rreur :
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://api.dipongo.co/v2/start. (Reason: CORS request did not succeed).
Partager