在 Docker 容器中运行的 ASP.NET API 应用程序仅阻止 POST 和 PUT 请求

问题描述 投票:0回答:1

我在 .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
值)

docker asp.net-core
1个回答
0
投票

您的 PUT 和 POST 请求被阻止的一个可能原因是您不允许 CORS 策略中的任何标头。要解决此问题,您可以尝试将 AllowAnyHeader() 方法添加到您的 CORS 策略中,如下所示:

        builder.Services.AddCors(options =>
        {
            options.AddPolicy(name: rardkAllowOrigins,
                policy =>
                {
                    policy.WithOrigins("http://localhost:4200")
                        .AllowAnyMethod()
                        .AllowAnyHeader(); // Add this line
                });
        });
© www.soinside.com 2019 - 2024. All rights reserved.