Не удается открыть файл xls в IE

У нас есть веб-приложение JSF, которое генерирует файл XLS и дает ссылку пользователю на файл .s. Все работает отлично, если доступ к этому файлу через HTTP.
Но IE (8) не может открыть/сохранить этот файл xls через HTTPS.
Появляется следующее сообщение об ошибке:

Internet Explorer cannot download ...466088C5C313F92808BDB0AFF3447 from testhost.

Internet Explorer was not able to open this Internet site.  The requested site is either unavailable or cannot be found.  Please try again later.

Я могу открыть тот же документ через HTTPS в Firefox и в Chrome.
В чем может быть проблема с IE?

Заголовки:

HTTP/1.1 200 OK
Date: Fri, 18 Jun 2010 14:45:42 GMT
Server: Apache-Coyote/1.1
X-Powered-By: Servlet 2.5; JBoss-5.0/JBossWeb-2.1
X-UA-Compatible: IE=EmulateIE7
Last-Modified: Fri, 18 Jun 2010 14:45:11 GMT
Cache-control: max-age=0, no-store, no-cache
Pragma: no-cache
Expires: 0
Content-Type: application/vnd.ms-excel
Content-Length: 6656
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive

Ответы

Ответ 1

Согласно http://support.microsoft.com/kb/316431, вы должны удалить любой из этих HTTP-заголовков, которые вы используете:

Pragma: no-cache
Cache-control: no-cache,max-age=0,must-revalidate

Ответ 2

Скорее всего, причиной являются заголовки ответов HTTP, которые мы должны были настроить специально для файлов xls в ssl

Expires: Mon, 26 Jul 1997 05:00:00 GMT
Last-Modified: Fri, 18 Jun 2010 16:22:07 GMT
Cache-Control: cache, must-revalidate
Pragma: public

для управления кешем и

Content-Type: application/vnd.ms-excel
Content-Disposition: attachment; filename="ExcelDownload.xls"
Content-Transfer-Encoding: binary
Content-Length: <fileSize>

для содержимого

Ключевой элемент: Pragma: public

Ответ 3

У вас установлен Cache Control в no-cache? У меня возникла аналогичная проблема. Подробнее см. этот вопрос и ответ.