Server Side Solution (IIS7.x) For Download failure in IE

If you have problem downloading some files extensions in IE specially IE 8 and different errors like the below

 

 In case you want to solve the issue from client side, you could create the following registry-key: [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings] (DWORD) "BypassSSLNoCacheCheck"=1

As discussed in the following KB: 815313 Prevent caching when you download active documents over SSL WWW.support.microsoft.com/kb/815313/EN-US

 But For large Environments that have 100s of clients look for a server side solution which should adjust header on the server side You can Use URL Rewrite https://www.iis.net/downloads/microsoft/url-rewrite 

 

Deleting  pragma from header resolves the issue server side:

  

For example

 

 

 

Then you can use URL Rewrite in IIS7.x to edit header

 

Then I have added a Rule using URL Rewrite and it should be like that in  web.comfig:

<rewrite>

     <outboundRules>

        

        <rule name="Pragma" preCondition="NotJS" patternSyntax="Wildcard">

          <match serverVariable="RESPONSE_Pragma" pattern="*" negate="false" />

          <action type="Rewrite" value="" />

          <conditions>

          </conditions>

        </rule>

<preConditions>

          <preCondition name="NotJS" patternSyntax="Wildcard">

                        <add input="{REQUEST_URI}" pattern="*.js*" negate="true" />

                        <add input="{REQUEST_URI}" pattern="*.css*" negate="true" />

                        <add input="{RESPONSE_CONTENT_TYPE}" pattern="*application/pdf*" negate="true" />

                        <add input="{RESPONSE_CONTENT_TYPE}" pattern="*text/csv*" negate="true" />

                        <add input="{RESPONSE_CONTENT_TYPE}" pattern="*text/xml*" negate="true" />

                        <add input="{RESPONSE_CONTENT_TYPE}" pattern="*image/png*" negate="true" />

                        <add input="{RESPONSE_CONTENT_TYPE}" pattern="*image/jpg*" negate="true" />

                        <add input="{RESPONSE_CONTENT_TYPE}" pattern="*image/gif*" negate="true" />

          </preCondition>

        </preConditions>

      </outboundRules>

    </rewrite>

 

Results … The Pragma disappeared.