2013-08-14 4 views
0

Мы используем Flash-загрузчик в нашем приложении ASP.NET, который отлично подходит для большинства наших клиентов. Однако для некоторых с настройкой прокси-сервера в своей организации загрузка сбой прерывается, что приводит к сбою. Изучив проблему, я обнаружил, что это связано с запросом «407 Authentication Required», инициированным прокси-сервером. Когда мы попытались переключить весь сайт под управлением HTTPS, эта проблема, похоже, решена, но это начало некоторых других 500 ошибок во всех приложениях. В качестве временного исправления я включил HTTPS только для компонента загрузки, покидающего сайт, работающий под HTTP. Это, похоже, сейчас решает проблему.Запрос на загрузку Flash-запроса с помощью HTTPS на ошибке 407

Но поскольку я с нетерпением жду постоянного исправления, я думаю об обработке исключения прокси (407) в своем Flash-коде и попытаюсь переиздать его с помощью HTTPS-вызова (не уверен, разрешено ли это, хотя). Когда я пытался обработать HTTPStatusEvent, я получил правильное исключение с помощью скрипта, но никаких дальнейших запросов не возникает, хотя я принудительно загружаю запрос через HTTPS. Вы можете найти пример кода, ниже которого я делаю (ActionScript Flex 3)

_file.addEventListener(HTTPStatusEvent.HTTP_STATUS ,OnHttpError);

private function OnHttpError(event:HTTPStatusEvent):void{ if (event.status==407){ Upload(true); } else{ HandleExceptions("Http Error: ",event.status,""); } this.dispatchEvent(event); } public function Upload(enableHttps:Boolean=false):void{ _uploading = true; _bytesUploaded = 0;

 var uploadURLTemp:String = _uploadUrl; 
     if(enableHttps==true){ 
      uploadURLTemp = uploadURLTemp.replace("http://","https://"); 

     } 
     _file.upload(new URLRequest(uploadURLTemp)); 


    } 

Объект _file является объектом FileReference и _uploadURL является загрузка обработчика URL на сервере. Я не уверен, разрешено ли мне это делать или есть лучший способ справиться с этим.

Любые мысли или идеи больш были бы оценены

С уважением

Шерин

ответ

0

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

Вообще говоря, самая сложная часть выполнения вызовов HTTPS во флеше - это настройка и загрузка политики crossdomain.xml. Если эти вызовы https, которые вы делаете, работают, я предполагаю, что у вас все правильно настроено.

Однако, существует целый ряд вещей, чтобы принять во внимание здесь, если вы еще не:

  • Обращение сервера в HTTPS, когда .SWF был загружен через HTTP может потребоваться crossdomain.xml
  • Если ваш защищенный контент размещается на субдомене, таком как secure.mywebsite.com, SWF может не иметь надлежащих разрешений (отсутствие или неверно настроенный crossdomain.xml) для доступа к www.mywebsite.com или наоборот.

But as I am looking forward for a permanent fix, I am thinking of handling the proxy exception (407) in my Flash code and try to reissue it with a HTTPS call (Not sure whether this is permitted though).

Пока действительным и правильно настроен файл crossdomain.xml был загружен SWF, вы можете позвонить или повторно позвонить HTTP, HTTPS, или даже сокет соединения все вы хотите.

Я только удивляюсь, что, поскольку HTTP кажется неустойчивым для вас, , скорее всего, просто просто использовать https, пока не решите свои проблемы с прокси.

+0

Спасибо за это. Но моя проблема заключается не в том, что я не могу связаться с сервером через HTTPS. Я могу сделать это без каких-либо проблем (если _uploadUrl устанавливается с https при загрузке страницы). У меня проблема: я установил _uploadUrl в HTTP-протокол и попытаюсь переиздать в HTTPS автоматически, когда произойдет исключение 407. В этом случае он просто ничего не делает. (Просто сдается). Надеюсь, теперь ясно – user1721640

 Смежные вопросы

  • Нет связанных вопросов^_^