我在 .NET 应用程序中为 CORS 设置了以下内容:
builder.Services.AddCors(options =>
{
options.AddPolicy(name: rardkAllowOrigins,
policy =>
{
policy.WithOrigins("http://localhost:4200")
.AllowAnyMethod();
});
});
当我从运行在
localhost:4200
上的应用程序中点击它时,只有 PUT 和 POST 请求被阻止。 GET 和 DELETE 请求工作正常。
这是我的
docker run
命令:
docker run -d --name=${{ env.IMAGE_NAME }} -p 80:80 -p 443:443 -v /root/cert:/usr/local/share/ca-certificates
(后面跟着一堆传入的-env
值)
您的 PUT 和 POST 请求被阻止的一个可能原因是您不允许 CORS 策略中的任何标头。要解决此问题,您可以尝试将 AllowAnyHeader() 方法添加到您的 CORS 策略中,如下所示:
builder.Services.AddCors(options =>
{
options.AddPolicy(name: rardkAllowOrigins,
policy =>
{
policy.WithOrigins("http://localhost:4200")
.AllowAnyMethod()
.AllowAnyHeader(); // Add this line
});
});