|
323 / 190 / 45
Регистрация: 25.08.2011
Сообщений: 1,263
|
|||||||||||
WebApplication обработка CORS06.12.2023, 09:46. Показов 1055. Ответов 16
Метки нет (Все метки)
Здравствуйте.
В продолжение темы вебсервера. Оформил приложение. Включил обработку CORS запросов и целый день все работало стабильно. Перезапускал сервер, отлаживал код. Сегодня с утра решил продолжить и гугель опять сыпет ошибку CORS и блокирует пакеты. Как так то? Что я и где забыл??
И еще хотел уточнить по поводу логов. Вроде также везде включил но никаких ошибок ни в консоль ни в студию не сыпется. И как проверить срабатывает ли вообще обработка CORS?
0
|
|||||||||||
| 06.12.2023, 09:46 | |
|
Ответы с готовыми решениями:
16
Как переделать WebApplication в WebSite Hibernate WebApplication Заливание WebApplication на хостинг |
|
1339 / 919 / 264
Регистрация: 08.08.2014
Сообщений: 2,763
|
||||||||||||||||
| 06.12.2023, 10:24 | ||||||||||||||||
|
Если запрос от Гугла, то он должен быть в списке 'WithOrigins'. Причём, по полному совпадению. У меня в одном из проектов так настроено (более ничего и нигде, только этот код). Секция 'EnabledCorsOrigins' конфига содержит коллекцию всех нужных адресов:
При неудаче проверки CORS да, в логах появляется тематическое сообщение об этом с указанием точного адреса, который проверку не прошёл.
Добавлено через 1 минуту Насчёт логов и консоли - они совсем пустые или туда всё же выводится информация о запуске хоста с номером порта и прочим? Оно просто должно из коробки работать при создании WebAPI-проекта из дефолтного (погодного) шаблона, вообще без какого-либо дополнительного конфигурирования. Для теста можно попробовать запросить логгер и явным образом туда что-нибудь записать. Добавлено через 18 минут В общем, даже такой минимальный сервер с пустым конфигом, выдаёт в консоль (и в отладке, и релизе) как внутренние сообщения самого фреймворка, так и пользовательские. Надо смотреть, что у вас в конфигах и настройке самого 'app':
0
|
||||||||||||||||
|
323 / 190 / 45
Регистрация: 25.08.2011
Сообщений: 1,263
|
||||||
| 06.12.2023, 10:44 [ТС] | ||||||
Стандартная инфа то конечно выводится. Если я в процессе работы пишу в _logger что нибудь то оно конечно выводиться. Я имею ввиду про обработку CORS. В вашем коде объект configuration откуда взялася?? И что в секции "EnabledCorsOrigins"??
0
|
||||||
|
1339 / 919 / 264
Регистрация: 08.08.2014
Сообщений: 2,763
|
||||||||
| 06.12.2023, 11:35 | ||||||||
0
|
||||||||
|
323 / 190 / 45
Регистрация: 25.08.2011
Сообщений: 1,263
|
|
| 06.12.2023, 11:46 [ТС] | |
|
kotelok, неа .. не работает.
А может ли как то влиять на это микротик?? У него настроена трансляция с 4001 порта на мой комп на 7001 порт. Но все равно не понятно почему в каких то случаях нормально проходит а когда то нет.
0
|
|
|
1339 / 919 / 264
Регистрация: 08.08.2014
Сообщений: 2,763
|
||
| 06.12.2023, 11:59 | ||
|
Насколько я понял, браузер сам добавляет HTTP-заголовок 'Origin', куда вписывает полный адрес. И далее ожидает, что сервер и сам этот запрос не отвергнет, и нужные заголовки в ответ пришлёт (и если не пришлёт, то браузер ответ в JS не отдаёт). P.S.: полагаю, тут нужен кто-то более опытный, кто хорошо все нюансы CORS знает.
0
|
||
|
323 / 190 / 45
Регистрация: 25.08.2011
Сообщений: 1,263
|
||
| 06.12.2023, 12:34 [ТС] | ||
|
Там есть OPTION но он выдает ошибку 405 при запросе.
0
|
||
|
1339 / 919 / 264
Регистрация: 08.08.2014
Сообщений: 2,763
|
|||||||||||||
| 06.12.2023, 14:15 | |||||||||||||
|
Я через консоль Хрома отлаживаю:
Через Postman можно отправить запрос и явно указать HTTP-заголовок 'Origin'. Сервер в этом случае в логах тоже отметит, что 'CORS failed', но сам Постман ответ при этом корректно отобразит, т.к. он эти политики безопасности не проверяет. Ну т.е. это не закроет сценарий, когда сервер-ОК, а браузер не доволен. Добавлено через 3 минуты Хотя, наверное, можно и вручную в Postman посмотреть, есть ли в ответе заголовок 'Access-Control-Allow-Origin' с исходным значением 'Origin'. Но по мне так, через браузер надёжнее. Добавлено через 1 час 23 минуты В общем, вот такой минимальный пример позволяет запрашивать ресурс из браузера с любого 'Origin':
0
|
|||||||||||||
|
323 / 190 / 45
Регистрация: 25.08.2011
Сообщений: 1,263
|
|||||
| 07.12.2023, 08:25 [ТС] | |||||
|
Но браузер в своей консоли сообщил о блокировке. Ну ни в какую не хочет работать. Причем я не пойму почему оно в какой то момент нормально начинает работать. Вот такие заголовки ответов показывается в браузере:
0
|
|||||
|
1339 / 919 / 264
Регистрация: 08.08.2014
Сообщений: 2,763
|
|||||||
| 07.12.2023, 08:47 | |||||||
|
Чтобы оно вообще для всех запросов отрабатывало, попробуйте для теста добавить мидлвар куда-нибудь в начала пипелайна (т.е. до контроллеров):
0
|
|||||||
|
323 / 190 / 45
Регистрация: 25.08.2011
Сообщений: 1,263
|
||||||||
| 07.12.2023, 09:17 [ТС] | ||||||||
|
Сделал вот так:
Иду на постман и запрашиваю OPTION и вижу такой результат. то есть нормально вроде как отрабатывает. Далее в консоли пишу запрос fetch и на тебе ошибку ((
Че он врет то. Вроде бы сервер то нормально отработал или нет.
0
|
||||||||
|
1339 / 919 / 264
Регистрация: 08.08.2014
Сообщений: 2,763
|
|||||||
| 07.12.2023, 09:24 | |||||||
Ну и попробуйте всё же именно через "*". И именно GET-запрос на тот ресурс, что реально есть в API и реально отдаёт данные.
0
|
|||||||
|
323 / 190 / 45
Регистрация: 25.08.2011
Сообщений: 1,263
|
||||||||||||
| 07.12.2023, 09:43 [ТС] | ||||||||||||
|
Вот так сделал:
Вот контроллер:
Вот команды апи. Они точно отрабатывают и возвращают ответ. А как в app.Use добавить логгер??
0
|
||||||||||||
|
1339 / 919 / 264
Регистрация: 08.08.2014
Сообщений: 2,763
|
|||
| 07.12.2023, 10:00 | |||
|
https://learn.microsoft.com/en... etcore-8.0
0
|
|||
|
323 / 190 / 45
Регистрация: 25.08.2011
Сообщений: 1,263
|
||
| 07.12.2023, 10:04 [ТС] | ||
|
Блин... методом GET заработало. fetch с форума возвращает результат.
Но если запрос делать постом с данными то пишет что такая ошибка:
0
|
||
|
1339 / 919 / 264
Регистрация: 08.08.2014
Сообщений: 2,763
|
||
| 07.12.2023, 10:13 | ||
|
https://developer.mozilla.org/... ht_request
0
|
||
|
323 / 190 / 45
Регистрация: 25.08.2011
Сообщений: 1,263
|
||||||||||||
| 07.12.2023, 10:33 [ТС] | ||||||||||||
Добавлено через 7 минут Я разобрался. Короче сервер на запрос OPTION отправляет все правильно, однако он отправляет ответ 202. Типа нет данных. Реализовал в контроллере метод для этого запроса и сразу все заработало.
0
|
||||||||||||
| 07.12.2023, 10:33 | |
|
Помогаю со студенческими работами здесь
17
Разворачивание WebApplication на IIS Выбрать начальную страницу в WebApplication WebApplication. Не подключается к базе данных MySQL Как вывести обычный MessageBox в WebApplication в C#? Не выводит список моей коллекции через поиск WebApplication Net.Core (404) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Рецензия / Мнение/ Перевод
Сайт называется reddit: The Thinkpad X220 Tablet is the best budget school laptop period.
Это. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|