0
votes

Problème Cors lors du déploiement du serveur

J'ai déployé deux projets sur le même serveur. L'un d'eux est un projet angulaire et l'autre est le noyau API IN.NET que le projet angulaire appelle. Localement, je n'avais pas ce problème mais sur le serveur, chaque fois que j'appelle une API, je reçois ce message d'erreur dans la console du navigateur:

Accès à XMLHTTPQUEST AT> ' http: // myipAdress: 81 / configuration / code_client ' de Origine> ' http: // MyipAdress ' a été bloqué par la stratégie CORS: Non "Access-Control-> Autoriser l'en-tête d'origine" est présent sur la ressource demandée p> BlockQuote>

Je déduit que le problème vient du projet de base .NET. J'ai déjà essayé les solutions proposées sur Stackoverflow, mais sans succès. Voici mon code sur .NET CODE SIDE: P>

getConf(code : string){
    var url = "http://MyIPAdress/Configuration";
    return this.http.get<any>(url +'/'+ code)
}


9 commentaires

docs.microsoft.com/en-us/ Aspnet / Core / Security / ...


Essayez Builder => Builder.WithOthorigins ("http: // myIPADRRRRRRRDRRRDRROM") .Avistionnaire ()


@David toujours le même problème ... Je ne comprends pas, mon appel angulaire est-ce bon?


Êtes-vous sûr que le côté angulaire sur le serveur appelle directement l'API Net-Core? Peut-être qu'il y a un proxy entre eux?


Essayez de déplacer l'appel app.Unsecors ("PerduPecificorigin"); à juste avant app.usemvcwithdefautroute (); de sorte que c'est après l'appel à app.utilisateur ( );


@Lorenzoisidori pas de proxy entre eux: /


@ 3dd je n'ai plus le même message d'erreur, j'ai édité mon post


@ Coding59 Après votre mise à jour, avez-vous vérifié Ceci


@ Coding59 s'il vous plaît voir ma réponse ci-dessous


3 Réponses :


0
votes

in Builder => Builder.WithOpines ("http: // localhost: 80") .Avoiranyheader () , avec http: // localhost: 80 Ajouter Adresse IP du serveur trop

comme ceci: xxx


1 commentaires

J'ai essayé votre solution mais j'ai toujours le même problème, une autre idée?



0
votes

Essayez sans fournir une stratégie comme ci-dessous:

public void ConfigureServices(IServiceCollection services)
{
      services.AddCors();
}


public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    services.AddCors(options =>
    {

            option.AllowAnyOrigin()
                                .AllowAnyHeader()
                                .AllowAnyMethod();

    });
}


0 commentaires

0
votes

Pour corriger l'erreur initiale Déplacez l'application 'app.Usecors ("Permet-la-PECIFICICORIGIN");' avant 'app.usemvcwithdefaultroute ();' de sorte qu'il lit xxx pré>

l'erreur que vous avez reçue après cela est corrigée en ajoutant allaitement (); code>, la saisie de Cors doit donc être p>

    services.AddCors(options =>
    {
        options.AddPolicy("AllowSpecificOrigin",
            builder => builder.WithOrigins("http://localhost:80").AllowAnyHeader()
            .AllowAnyMethod()
            .AllowCredentials()
        );
    });


2 commentaires

OK merci, les problèmes sont résolus. Je n'ai plus d'erreurs d'accès à l'accès à l'accès à l'accès, mais maintenant seulement: 'Obtenez http: // MyipAdress: 81 / Configuration / Toute 500 (erreur de serveur interne). Lorsque j'appelle cette API dans Postman ou directement dans un nouvel onglet du navigateur, je reçois un fichier JSON correct mais pas dans l'application


Cela pourrait être autre chose, vous aurez besoin de tracer le problème