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 ....
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 ..
l'appel très prochaine montre.
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?}");
});
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