【发布时间】:2018-06-16 06:27:22
【问题描述】:
我在我的新项目中实现了 ocelot,我使用 ocelot 一次性创建了我的服务集成,但是当我尝试发布、放置、路径或删除到我的 api 网关中的资源时,浏览器会显示消息
无法加载http://localhost:8080/api/prospects:对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,Origin 'http://localhost:8888' 不允许访问。响应的 HTTP 状态代码为 404。
我尝试在网关安装和实现包中配置 cors Microsoft.AspNetCore.Cors
public void ConfigureServices(IServiceCollection services)
{
services.AddCors();
services.AddOcelot(Configuration)
.AddCacheManager(x =>
{
x.WithMicrosoftLogging(log =>
{
log.AddConsole(Microsoft.Extensions.Logging.LogLevel.Debug);
})
.WithDictionaryHandle();
}); ;
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
app.UseCors(
options => options.WithOrigins("http://localhost:8888").AllowAnyMethod()
);
app.UseOcelot().Wait();
}
【问题讨论】: