If you prefer to not send the ETag HTTP header for files served from IIS 7 or 7.5, it is a bit problematic. To the best of my knowledge, IIS does not provide a straight forward way to remove this header. This post shows a way to do it using Microsoft's URL Rewrite Module 2.0.

I'm not going to go into the what and why of the ETag. Suffice it to say, many web developers and web masters would prefer not to send it.

The ETag can be removed using an outbound URL rewrite rule. You can read more about it at the URL Rewrite Module 2.0 Configuration Reference .

The rewrite rule that can be put in your web.config follows:

   
<rewrite>
   <outboundRules>
      <rule name="Remove ETag" >
         <match serverVariable="RESPONSE_ETag" pattern=".+" />
         <action type="Rewrite" value="" />
      </rule>
   </outboundRules>
</rewrite>
   

This graphic shows the settings for the ETag removal rewrite rule in IIS Manager. In fact, if you look at the headers for the image, you'll see there is no ETag :-)

Remove ETag HTTP Header IIS Manager

If you happen to be using Helicon's Ape, then this is very simple as well. You can use a mod_headers rule like:

      Header set ETag ""
   

I hope this helps :-)

IIS Technical November 10, 2011

I recently upgraded to Windows 7 and while doing some IIS tinkering I noticed my HTTP 404 page was blank. I was getting a HTTP 404 header back in the response so I was a bit confused. It ends up when I turned on IIS I missed checking the HTTP Errors check box in the windows features.

image

I created a short tutorial showing what I did as well.

Hopefully this might help someone quickly figure this out :-)

IIS Technical December 7, 2009

I configured SSL on this blog site and found some info on the Microsoft TechNet page Configure a Host Header for a Web Site (IIS 7). The TechNet page was a start, but it didn’t quite get me all the way there. With a bit of experimentation I successfully configured SSL on my web server. You can view a screencast of what I did at the end of this post.

For this post I’m going to use a non-existent website www.abc-test1.com.

First I added an SSL binding to the web site. In IIS Manager, with the web site selected, click on the Bindings… link.

Actions Bindings

On the Site Bindings dialog you’ll want to click the Add… button.

Site Bindings Dialog

Then select https from the Type drop list, select your IP address, and pick your installed SSL certificate. For my testing I created a self signed certificate.

Add Site Binding

Then from the command prompt you’ll want to issue the command:

appcmd set site /site.name:www.abc-test1.com /bindings.[protocol='https',bindingInformation='*:443:'].bindingInformation:*:443:www.abc-test1.com

You can go back in IIS manager to check you SSL binding’s host name. You should see the host header you configured at this point.

Site Bindings with host header

I created this tutorial describing how to configure host headers in IIS 7.5 using Windows 7. It is the same process for any version of IIS 7.x.

I hope this post helps :-)

IIS Technical December 3, 2009