Результат загрузки файла: «IE не смог открыть этот Интернет-сайт»

Я затрудняюсь с этим. Я просмотрел все и, кажется, есть много решений, но они не работают для меня. У меня есть приложение CGI :: Application, генерирующее электронную таблицу MS Excel с помощью Spreadsheet :: WriteExcel. Некоторое время это работало нормально, пока пару недель назад на нашем реальном сервере не произошел сбой оборудования. Мы использовали отключение как предлог для обновления до Windows Server 2008 (с 2003 г.) и Apache 2.2.17 (с 2.2.11). Теперь я получаю спорадические (но слишком частые, чтобы игнорировать) жалобы от клиентов, получающих эту ошибку при попытке загрузить электронные таблицы:

Internet Explorer не может загрузить [url] с [site].
Internet Explorer не смог открыть этот Интернет-сайт. Запрошенный сайт либо недоступен, либо не может быть найден. Повторите попытку позже.

Я пробовал IE 7-8 на XP, Vista и 7, и мне не удалось воспроизвести эту ошибку локально. У пользователей, у которых есть проблема, она возникает каждый раз, а не случайно. Все жалобы исходят от пользователей IE, в основном от IE8.

Прочитав пару сообщений об ошибке, я добавил заголовок -expires , но безрезультатно. (Не имея возможности проверить это напрямую, мне пришлось внести исправление и подождать день или около того, чтобы увидеть, перестанут ли люди жаловаться ._. )

sub export_spreadsheet {
   my $self = shift;
   binmode STDOUT;

   my $str;
   open my $fh, '>', \$str;
   my $workbook = Spreadsheet::WriteExcel->new($fh);
   # words words words
   $workbook->close;
   close $fh;

   $self->header_add(-type => 'application/vnd.ms-excel',
                     -expires => '+1d',
                     -attachment => 'export.xls');
   return $str;
}  

Заголовки запроса выглядят нормально. Обратите внимание: они были собраны на моем локальном компьютере.

HTTP/1.1 200 OK
Date: Tue, 31 May 2011 22:23:17 GMT
Server: Apache/2.2.17 (Win32) mod_ssl/2.2.17 OpenSSL/0.9.8o mod_perl/2.0.4-dev Perl/v5.10.1
Expires: Wed, 01 Jun 2011 22:23:18 GMT
Content-Disposition: attachment; filename="export.xls"
Vary: Accept-Encoding
Keep-Alive: timeout=5, max=100
Content-Type: application/vnd.ms-excel
Content-Length: 18944
Accept-Ranges: none
Proxy-Connection: Keep-Alive

Текущее решение, которое мы даем клиентам (которые не могут или не хотят переключаться на альтернативный браузер), заключается в переключении на SSL, введя https ] самих себя. Загрузка SSL отлично подходит для тех, кто попробовал ее и вернулся к нам. Предположение: может ли это быть нижестоящий прокси-сервер, который вмешивается в наши заголовки? Может быть, поэтому он работает в SSL и ошибки в простом HTTP? (В этом случае обновление сервера было бы неудачным совпадением.)

12
задан wes 31 May 2011 в 23:39
поделиться