2017-10-09 4 views
0

Si j'exécute mon application localement (en utilisant localhost) cela fonctionne parfaitement.Pourquoi mon frontal ne récupère-t-il pas les informations de mon back-end?

Mais quand j'ai décidé de passer à mon adresse IP globale (quand je dis global, je ne veux pas dire mon adresse IP, mais celle fournie par mon FAI).

Il ne charge simplement pas les données de mon back-end.

Voilà comment je fais les demandes de mon front-end:

this.http.get("http://my-isp-ip:52899/api/Student/ListStudents").subscribe(response => { 
     this.users = response["Users"]; 
    }); 

Et voilà comment je suis arrivé mon applicationhost.config sur mon arrière-plan:

<bindings> 
        <binding protocol="http" bindingInformation="*:52899:localhost" /> 
        <binding protocol="http" bindingInformation="*:52899:my-isp-ip" /> 
       </bindings> 

Et je lance l'application frontale comme ceci: ng serve --host 0.0.0.0

Et j'ai déjà ouvert les ports à la fois dans mon routeur et mon pare-feu.

Maintenant, dans mon routeur, j'ai seulement ouvert les ports: 4200 puisque c'est celui qui fonctionne sur mon frontal et 52889 qui est celui qui fonctionne sur mon back-end.

Que puis-je faire de mal?

+0

Peut être essayer de le changer '--host 0.0 .0.0' à '--host my-isp' –

+0

J'ai déjà essayé cela, et il est dit que cette adresse IP ne pouvait pas être liée. – RottenCheese

Répondre

0

Solution: j'ai changé:

<bindings> 
    <binding protocol="http" bindingInformation="*:52899:localhost" /> 
    <binding protocol="http" bindingInformation="*:52899:my-isp-ip" /> 
</bindings> 

Pour:

<bindings> 
    <binding protocol="http" bindingInformation="*:52899:localhost" /> 
    <binding protocol="http" bindingInformation="*:52899:*" /> 
</bindings> 

et exécuter Visual Studio en tant qu'administrateur ...