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

Angular Discussion :

Erreur net::ERR_EMPTY_RESPONSE sur déploiement sur le serveur de prod


Sujet :

Angular

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 7
    Points : 5
    Points
    5
    Par défaut Erreur net::ERR_EMPTY_RESPONSE sur déploiement sur le serveur de prod
    Bonjour,

    j'ai réaliser une application Angular qui fonctionne correctement sur mon poste de développement.
    Je passe maintenant à la phase de mise en production et les questions et les problèmes arrivent.
    J'ai installé un serveur Apache pour servir mon application Angular et aussi installer le service de mon API sur un serveur dans le cloud.
    Si j'ouvre un navigateur sur ce serveur et accède à mon application Angular à travers l'adresse IP (https) publique de celui-ci, cela fonctionne parfaitement.
    Si je fais la même chose sur une autre machine, j'accède à la première page de mon application (fenêtre de login) et que je tente de m'identifier, j'obtiens l'erreur suivante:
    -> OPTIONS http://localhost:5001/users/authenticate net::ERR_EMPTY_RESPONSE
    Question qui me veint suite à cette erreur, comment Angular communique avec l'API dans ce cas:

    Nom : ApacheAngularAPICommunication.png
Affichages : 806
Taille : 95,0 Ko

    Si comme je le pense, c'est le premier cas (flèches orange), pourquoi j'obtiens cette erreur et comment faire pour résoudre ce problème ?

    Merci beaucoup de votre aide car là je suis coincé.

  2. #2
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 191
    Points : 595
    Points
    595
    Par défaut
    salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     net::ERR_EMPTY_RESPONSE
    il faut lui permettre CORS pour utiliser un nom de domaine différent, côté backend a tu envoyé les réponse CORS ?
    par exemple ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
            response.addHeader("Access-Control-Allow-Origin", "*");
            response.addHeader("Access-Control-Allow-Headers",
            "Origin,Accept, X-Requested-With,Content-Type,Access-Control-Method,Access-Control-Allow-Headers,Authorization");
            response.addHeader("Access-Control-Expose-Headers",
            "Access-Control-Allow-Origin,Access-Control-Credentials,Authorization");
            response.setHeader("Access-Control-Allow-Methods", "GET,POST,DELETE,PUT,OPTIONS");
    Si tu ne reçois pas ces entête, le navigateur refusera d'échanger avec le backend, le backend doit lui donner la permission de le faire.
    Pour que le backend te donne l'authorization il te faut que le frontend lui envoie un jeton auquel le backend aura préalablement donné par un jwt je suppose.

    1=> après le login réussi, le backend envoie le jeton au front-end
    2=> la front-end fait une requete OPTION pour éditer
    3 => le front-end recoit la réponse de l'option 200, il peut obtenir la réponse (une requête "option" juste pour montrer patte blanche)
    4=> le front-end lui fait la demande d'éditer
    5 => le backend execute la requête puisque le front end lui a montrer patte blanche.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Merci Keokaz pour ta réponse.

    Les CORS sont bien passés.
    Après beaucoup de recherche, je suis arrivé à la conclusion que l'échange se passe comme dans le 2ième cas.
    Il faut donc que je configure l'URL avec l'adresse ip publique de mon serveur API et non pas localhost.

    Je suis en train de le tester...

    Cordialement,

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

Discussions similaires

  1. [Débutant] update avec parametres impossible sur un serveur lié en vb.net
    Par manuscle dans le forum Accès aux données
    Réponses: 0
    Dernier message: 28/09/2015, 17h07
  2. [Débutant] Connexion RCON sur un serveur minecraft avec ASP.NET
    Par Invité dans le forum ASP.NET
    Réponses: 1
    Dernier message: 30/07/2015, 11h45
  3. Réponses: 3
    Dernier message: 09/07/2015, 13h44
  4. PHP s’imposera sur les serveurs face à Java et .NET
    Par Gordon Fowler dans le forum Débats sur le développement - Le Best Of
    Réponses: 139
    Dernier message: 12/03/2013, 11h50
  5. crystal report et deployment sur le serveur
    Par tortuegenie dans le forum ASP.NET
    Réponses: 6
    Dernier message: 05/11/2008, 19h24

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