AWS - заблокировано политикой CORS: в запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin» - PullRequest
0 голосов
/ 03 мая 2020

Я использовал visual studio net 2.1 и локальную базу данных sql для своего сайта на AWS. Первая страница появляется, но когда я пытаюсь добавить комментарий и код перенаправляется на другую страницу моего сайта, я получаю эту ошибку консоли, и страница не перенаправляется в браузер:

Access to XMLHttpRequest at 'https...' from origin 'https://www.....dev' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

Это такое файл startup.cs

            services.AddCors(options =>
            {
                options.AddPolicy("CorsPolicy",
                    builder => builder.AllowAnyOrigin()
                        .AllowAnyMethod()
                        .AllowAnyHeader()
                       );
            });

           app.UseCors("CorsPolicy");

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
            });

Ответы [ 2 ]

1 голос
/ 03 мая 2020

Для некоторых запросов CORS браузер отправляет дополнительный запрос OPTIONS перед выполнением фактического запроса. Этот запрос называется предполетным запросом. Браузер может пропустить предварительный запрос, если выполняются все следующие условия:

  1. Метод запроса - GET, HEAD или POST.
  2. Приложение не устанавливает заголовки запроса, другие чем Accept, Accept-Language, Content-Language, Content-Type или Last-Event-ID.
  3. Заголовок Content-Type, если установлен, имеет одно из следующих значений: application / x- www-form-urlencoded multipart / form-data text / plain

AllowAnyOrigin влияет на предварительные запросы и заголовок Access-Control-Allow-Origin.

Предварительный запрос использует метод HTTP OPTIONS. Он может включать следующие заголовки:

Access-Control-Request-Method: метод HTTP, который будет использоваться для фактического запроса. Access-Control-Request-Headers: список заголовков запросов, которые приложение устанавливает для фактического запроса. Access-Control-Allow-Methods

Попробуйте разрешить указывать c происхождение, методы и заголовки. Для получения дополнительной информации можете проверить по следующей ссылке:

https://docs.microsoft.com/en-us/aspnet/core/security/cors?view=aspnetcore-3.1#preflight -запросы

0 голосов
/ 05 мая 2020

Ответ заключается в том, чтобы включить api-шлюз в AWS

. В консоли API Gateway Console откройте выпадающий список Actions и выберите Deploy API.

Это устранило проблему с CORS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...