IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Serveurs (Apache, IIS,...) Discussion :

[NGINX/NodeJS] Soucis de CORS?


Sujet :

Serveurs (Apache, IIS,...)

  1. #1
    Membre actif Avatar de dbroqua
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2013
    Messages : 14
    Par défaut [NGINX/NodeJS] Soucis de CORS?
    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.

    Voici la conf NGINX sur la prod :

    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;
    }
    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.


    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).

  2. #2
    Membre actif Avatar de dbroqua
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2013
    Messages : 14
    Par défaut
    Au final ça n'avait rien avoir les CORS.

    Le soucis vient d'Android 7.0 et de sa gestion des certificats SSL. Sur mon AWS il y a un certificat de type Let's Encrypt et cela semble poser un soucis avec Android 7.0.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. soucis formulaire + nginx
    Par lifala dans le forum AJAX
    Réponses: 1
    Dernier message: 12/11/2018, 11h58
  2. Réponses: 0
    Dernier message: 16/09/2015, 15h54
  3. Migration nodeJS > Nginx
    Par zendel dans le forum Serveurs (Apache, IIS,...)
    Réponses: 1
    Dernier message: 28/08/2015, 13h51
  4. Réponses: 4
    Dernier message: 16/02/2003, 12h16
  5. Réponses: 2
    Dernier message: 03/10/2002, 17h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo