У меня возникли проблемы с моим приложением в Firefox. Мои проблемы очень похожи на проблему, изложенную в этом билете Firefox «Запрос перекрестного происхождения заблокирован», несмотря на заголовки. Однако у меня несколько другие обстоятельства.
Мое приложение torsera.com работает в Chrome, Edge и Safari, но я часто получаю ошибку CORS при запуске в Firefox.
Странно то, что я не всегда получаю сообщение об ошибке, может быть, один из десяти случаев, когда мой вызов API завершается успешно.
Это заставляет меня думать, что проблема не связана с моим сертификат, как указано в решении к указанному выше билету.
Еще одно важное замечание: мой бэкэнд вызывает множество различных API llm. Таким образом, каждый запрос может попасть в другой llm.
Глядя на документы mdn здесь: ошибка mdn CORS, я думаю, что основной виновник:
Сервер не ответил на фактический запрос (даже если ответил на предполетный запрос). Одним из сценариев может быть разрабатываемая HTTP-служба, которая запаниковала, не вернув никаких данных.
Есть идеи, как можно устранить эту неполадку?
Вот заголовки Я использую:
Accept: application/json
Accept-Encoding: gzip, deflate, br, zstd
Accept-Language: en-US,en;q=0.5
Alt-Used: api.torsera.com
Connection: keep-alive
Content-Length: 148
Content-Type: application/json
Cookie: _ga_4FS2W9D=GS1.1.172775.5.1.17258.0.0.0; _ga=GA1.1.561638967.1726769877; session=eyJhbGciOiE15OXB1Q0puYmpEN2dRTzlQT09kTnl4VG1
Host: api.torsera.com
Origin: https://www.torsera.com
Priority: u=0
Referer: https://www.torsera.com/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-site
TE: trailer
и моя конфигурация fast-api:
app.add_middleware(
CORSMiddleware,
allow_origins=origins,
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
Подробнее здесь: https://stackoverflow.com/questions/790 ... r-browsers