CORS только в FireFox. Причина?
Всем привет. Столкнулся с проблемой CORS. Имеется проект на микрофронтах. Все развернуто на одном сервере на разных портах. 98 порт для Root приложения, в котором есть importmap с путями к собранным js файлам остальных фронтендов. На 97 порту проблемный фронтенд. После развертки проектов. Все работает через IE, Opera и GoogleChrome. Только через FireFox. Возникает CORS при GET запросе на порт 98. С такими заголовками:
Accept
*/*
Accept-Encoding
gzip, deflate, br
Accept-Language
ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Connection
keep-alive
Host
x.x.x.x:98
Origin
https://x.x.x.x:97
Referer
https://x.x.x.x:97/
Sec-Fetch-Dest
script
Sec-Fetch-Mode
cors
Sec-Fetch-Site
same-site
User-Agent
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0
CORS на бэкенде настроены. И по идее проблем быть не должно. Что не так?
services.AddCors(options =>
{
options.AddPolicy(corsPolicy, policy =>
{
policy
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials()
.SetIsOriginAllowed(origin => true)
});
});
Ответы (2 шт):
Firefox единственный браузер который кеширует CORS ответ, и этот кеш невозможно очистить. Это задокументированная но не исправленная проблема https://bugzilla.mozilla.org/show_bug.cgi?id=1528603
То есть если один единственный раз вы получили в ответ запрещенный CORS - теперь даже когда вы разрешите его - Firefox будет блокировать ресурс всегда.
Потому для исключения что именно кеш - источник проблемы - попробуйте с другого компьютера, где ранее этот сайт с Firefox не запрашивался.
- Тестируем удобно через CORS Everywhere.
[Ctrl]+[5]- чистим кэш запросов, но если кэшированы ресурсы, то какие заголовки Вы ждёте?
Из ответа - 24 часа для чистки.