Можете ли вы заставить Flash URLRequest / веб-службы работать из-за прокси в IE? - PullRequest
0 голосов
/ 17 сентября 2009

У нас есть приложение Flash, которое подключается к веб-службе REST WCF, возвращающей данные json.

Мы используем URLRequest / URLLoader с запросами POST, а не библиотеку более низкого уровня с использованием сокетов, таких как as3httpclientlib.

Приложение нормально работает в обычном режиме, но когда мы находимся за корпоративным прокси-сервером (т. Е. На вкладке «Подключение к Internet Explorer» определен прокси-сервер), некоторые запросы возвращают код состояния HTTP 502 - Ошибка просмотра DNS. (Мы используем Fiddler для проверки трафика). Соединение работает нормально для первых нескольких запросов, но затем, кажется, умирает - с этими 502 ошибками.

Что может быть причиной этого?

Я слышал, что использование низкоуровневого программирования сокетов может вызвать проблемы с прокси-серверами в корпоративных средах - но это не то, что мы используем здесь.

EDIT:

При дальнейшем расследовании (с использованием fiddler) происходит следующее:

  1. Выполнен первый запрос POST.
  2. Прокси-сервер возвращает 407 (запрос кеша отклонен - ​​не аутентифицирован прокси-сервером)
  3. Запрос выполняется снова с заголовком авторизации прокси
  4. Прокси возвращает 407 с каким-то заголовком возврата прокси-аутентификации.
  5. Оригинальный запрос делается еще раз - на этот раз с прокси-аутентификацией, но мой Заголовок авторизации («authorization: username: password») был удален прокси-сервером и, следовательно, запрос не выполнен.

Не уверен, как обойти это ...

EDIT:

Я добавил свой заголовок авторизации, используя URLRequest в ActionScript. Прокси-сервер использовал проверку подлинности NTLM. Добавленный мной заголовок авторизации был удален на шаге 2.

Я обнаружил, что если бы я использовал заголовок со случайным именем типа «Безопасность» вместо «Авторизация», тогда заголовок не был удален.

Ответы [ 3 ]

0 голосов
/ 19 сентября 2009

Короткий ответ - нет, вы не можете изменить свой путь. Flash не имеет никакого влияния на то, как он запрашивает ресурсы из Интернета с точки зрения конфигурации сети / прокси. Если это произойдет, это будет серьезным недостатком безопасности.

0 голосов
/ 19 апреля 2011

Чтобы исправить мою проблему, я обнаружил, что если я использовал заголовок авторизации со случайным именем, например «Безопасность», а не «Авторизация», то прокси не удалял заголовок авторизации.

Поскольку я контролирую серверную часть и могу указать, какие заголовки я ищу, это решение сработало для меня.

0 голосов
/ 17 сентября 2009

Если Fiddler говорит «Сбой DNS Lookup», это, вероятно, означает, что либо:

1> Ваш компьютер не настроен на использование вышестоящего прокси-сервера 2> Ваш компьютер настроен на использование вышестоящего прокси-сервера, но этот прокси-сервер либо не работает, либо периодически выходит из строя.

По умолчанию Fiddler соединяется с вашим прокси-сервером верхнего уровня. Когда он отправляет запрос вашему прокси, он даже не пытается выполнить поиск DNS. Если Fiddler сообщает, что поиск DNS не удался, это означает, что Fiddler попытался выполнить поиск DNS, что означает, что он даже не пытается использовать прокси-сервер, потому что он либо не настроен, либо не удалось загрузить сценарий автоконфигурации прокси.

Когда Fiddler НЕ запущен, каковы ваши настройки прокси-сервера в Сервис / Свойства обозревателя / Подключения / Параметры локальной сети?

Стоит также отметить, что в IE Flash использует те же настройки прокси, что и IE. Поэтому, если вы не столкнулись с какой-то сумасшедшей ошибкой во Flash, вам не нужно беспокоиться о настройках прокси во Flash, если сам IE может попасть на сайт.

...