Details
-
Bug
-
Resolution: Won't Fix
-
Major
-
None
-
3.0.1
-
Unknown
-
Description
The Export and Attachment download fail on Internet Explorer (tested with IE8), with a combination of HTTPS and Kerberos on XE 3.0.
I was not able to reproduce the issue with HTTPS only with XE 3.1 (I see that there are no cache-control headers with 3.1)
The issue is related to: http://support.microsoft.com/kb/323308/en-us
Indeed changing the registry value BypassSSLNoCacheCheck to 1 also fixes the issue.
To workaround the issue, a modification to DownloadAction and ExportAction to force specific Cache-Control and Pragma headers will work:
response.setHeader("Cache-Control", "public, must-revalidate"); response.setHeader("Pragma", "hack");
It is important to "set" the header and not "add" them. If the Cache-Control "no-cache" header is still there it will fail.
On HTTPS only without Kerberos it was possible to witness a similar issue with the following script:
{{velocity}}
#if($request.confirm)
#set($ok = $response.setContentType("application/rtf"))
#set($ok = $response.setHeader("Content-Disposition", "attachment; filename='Main.WebHome.rtf'"))
#set($ok = $response.setHeader("Pragma", "no-cache"))
#set($ok = $response.setHeader("Cache-Control", "no-cache"))
#set($ok = $response.setHeader("Content-Language", "fr"))
#set($ok = $response.setHeader("Expires", "Thu, 01 Jan 1970 01:00:00 CET"))
##set($ok = $response.setHeader("Cache-Control", "public, must-revalidate"))
##set($ok = $response.setHeader("Pragma", "hack"))
Hello, this is a download test.
#else
[[Confirm>>?confirm=1]]
#end
{{/velocity}}
Activating the 2 setHeader lines will make the download work.