2017-08-28 1 views
0

TLDR: 1 serveur, IIS, deux sites, manquant CORS en-têtes sur la réponse prévolIIS API d'hébergement de serveur et angulaire 2 application Pas CORS envoyé

> http://myserver:88 // This is my angular site 
> http://myserver:8888 // This is my .NET CORE API 

Contexte:

J'ai développé un ASP. NET CORE API et une application Web Angular. Je les ai hébergés sur le même serveur avec IIS. Ce sont deux sites différents.

Je rencontre un problème CORS. Je l'en-tête Forcé envoie de réponse comme si ....

enter image description here

Maintenant, dans mon point final de connexion J'ai besoin en-têtes personnalisés. Donc, une réponse prévol est nécessaire .. chrome montre ce ..

I get the 'Access-Control-Allow-Origin' header

l'appel très prochaine montre.

enter image description here enter image description here

Je ne suis pas sûr de ce que je fais mal ici ...

Voici comment mes CORS mis en place des regards dans l'API.

public void ConfigureServices(IServiceCollection services) 
    { 
     string[] origins = new [] { "http://myServer:88" }; // PORT TO HOSTED ANGULAR SITE 

     services.AddCors(options => { 
      options.AddPolicy("AllowSpecificOrigin", builder => 
       builder.WithOrigins(origins) 
        .WithMethods("GET", "POST") 
        .WithHeaders("accept", "content-type", "origin", "username", "password") 
        .AllowCredentials() 
       ); 
      }); 

     services.AddMvc(); 
    } 

    public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) 
     { 
app.UseCors("AllowSpecificOrigin"); 

      app.UseStaticFiles(); 

      app.UseMvc(routes => 
      { 
       routes.MapRoute(
        name: "default", 
        template: "{controller=Home}/{action=Index}/{id?}"); 
      }); 
+0

J'ai enveloppé mon point de terminaison dans une prise d'essai et dans la capture a renvoyé l'exception e. La connexion à la base de données n'était pas correcte et a généré une erreur. Cette exception provoquait en quelque sorte l'erreur CORS. – jriver27

Répondre

0

Il n'y avait rien de mal avec mon installation CORS. C'était dû à une exception qui a été lancée dans mon terminal. J'espère que cela aide les autres.