После недавнего развертывания в производство, после отправки из safari на мобильные устройства перестала работать js post, и мне нужна помощь в устранении неполадок.
Странно то, что тот же код работает в тестеокружающая обстановка. Запрос также работает при отправке из любого настольного браузера, который я смог попробовать (это только IE и Edge, причины в следующем параграфе)
Что еще хуже, это то, что среды защищены за vpnи заблокирован, что означает, что я не могу устранить неполадки, как обычно. Например, я не могу установить настольную версию safari - или любого другого инструмента - чтобы воспроизвести ошибку с помощью консоли. Я также не могу проверить сеть от клиента. Это означает, что я даже не знаю, был ли запрос действительно отправлен или возникла неисправность до этого.
В журналах сервера IIS не отображается ни один из этих ошибочных запросов, так что это гарантия того, чтозапрос не был отправлен и что это проблема клиента? - Но тогда, если это проблема с кодом на клиенте, она не должна работать в тестовой среде, верно?
Итак, что же отличает тестовую среду от производственной? Ну, это не в демилитаризованной зоне, так что, возможно, есть проблема с сетью, возникающая между safari и рабочим сервером… но только для этого конкретного запроса HTTP post?
Хорошо, еще одна вещь, которая может иметь отношение к делу, состоит в том, что этот запрос использует .net antiforgerytoken, с которым я столкнулся с некоторыми проблемами в сочетании с аутентификацией Windows и сафари при поиске здесь на SO - но это не должно генерироватьчто-то в журнале iis, как запрещено или 401? Кроме того, тестовая среда настроена с той же аутентификацией и согласованием с поставщиками NTLM, так что это может иметь какое-то отношение к анти-подделке?
Знак анти-подделки был добавлен в этот выпуск. Кроме того, запрос изменил путь (к другому контроллеру) и превратился из «GET» в «POST».
Поскольку журналы IIS для этих запросов ничего не показывают, и я не могу использоватьлюбой другой клиент, кроме Iphone для воспроизведения, у меня нет сообщений об ошибках, чтобы предоставить. (Средство просмотра событий Windows тоже ничего не показывает).
Я ожидаю, что это будет работать так же, как и в тестовой среде, потому что код тот же - единственное реальное различие, о котором я могу думать, это то, чтоПроизводственный сервер находится в DMZ. Таким образом, есть какие-либо идеи для устранения этой проблемы?