У меня есть приложение angular6, работающее на производстве, время от времени некоторые пользователи получают сообщение об ошибке во время http-запросов.
Http failure response for (unknown url): 0 Unknown Error response: {"isTrusted":true}
Это влияет на пользователей случайным образом, в шаблоне нетHTTP-метод, пользователь или что-либо еще, насколько я могу судить, я использую часовой для регистрации ошибок.
Я уже потратил много времени на поиск решения, так что почти все намекали на неправильные заголовки cors.Все запросы проходят через шлюз API, где установлены заголовки cors.
'Access-Control-Allow-Headers': 'Content-Type, x-internal-token, Origin, Accept, X-Requested-With, If-Modified-Since, Cache-Control, Keep-Alive'
'Access-Control-Allow-Origin': 'http://example.com'
'Access-Control-Allow-Methods': 'PUT, POST, GET, DELETE, PATCH, OPTIONS'
'Access-Control-Max-Age': 3600
До сих пор я не получил никаких ошибок при первой загрузке приложения и получает некоторую информацию только от шлюза API.позже, пока пользователь использует приложение.Еще более странно, что я также получил эту ошибку для ./assets/i18n/de.json
(обычный запрос get), который не является cors, а просто статическим json для динамических переводов.
У меня совершенно нет идей, и любая помощь очень ценится.
РЕДАКТИРОВАТЬ: Пожалуйста, прочитайте внимательно;эта проблема существует только для некоторых пользователей и не всегда, это не общая неправильная конфигурация!
EDIT2: для дальнейшей отладки этой проблемы я настроил второй api-шлюз (тот же код), который был настроен для регистрациивсе запросы.Небольшое изменение было внесено в угловое приложение, чтобы оно выполняло один и тот же запрос дважды;один раз против реального api-шлюза и один раз против входящего api-шлюза (для некоторых вызовов api).В одном случае приложение смогло выполнить запрос к реальному шлюзу api, но не к шлюзу регистрации (тот же код, оба заголовка nginx, cors одинаковы).
EDIT3: шлюз журнала и реальныйapi-шлюз расположен на разных серверах (разных провайдерах), и я вижу запрос OPTIONS в журнале nginx со статусом 200.
EDIT4: я перенес обработку cors с api-gateway на nginx и т. д.пока я не получил больше ошибок.