HOWTO: Common URL Redirection Techniques for IIS, Summary

For the next several entries, I am focusing on this frequently asked topic: How do I rewrite / redirect / forward / mask requests from one URL to another with IIS? Common questions that fall into this topic include: Redirect requests from http://server to https://server (i.e. SSL-only site, Exchange/OWA login) Redirect requests from http://external to…

150

HOWTO: Allow file downloads (including .exe) on IIS 6.0

Variations of this question are asked of IIS 6 all the time. However, the answer is no different than for any other version of IIS other than the fact that IIS 6 gives you a distinct error code to troubleshoot. What is not clear to me is why users think that the newly introduced Web Service…

135

HOWTO: Understand and Diagnose an Application Pool Crash

Problems statements similar to the following questions pop up all the time on various IIS newsgroups, and the user usually claims that they have either seen (or not seen) many posts that look like theirs, and never any concrete solutions. I am going to try and explain the whole thought process, why things work the…

124

How to Manipulate (insert/replace/remove) LIST data type in IIS Configuration

After a long tour on newsgroups, I am starting my blog today. For my first entry, I am going to discuss a frequent question about IIS programmatic administration – how to manipulate the LIST data type (i.e. ScriptMaps, HttpErrors, ServerBindings, etc). No, MIMEMap is not included in this because it is not a LIST (it is…

118

HOWTO: Diagnose IIS6 failing to accept connections due to Connections_Refused

Recently, I have seen a bunch of questions asking: “IIS6 runs fine for X amount of time [where X varies from days to weeks] and then all of a sudden, it stops accepting all connections. If I restart/reboot the server, then it is fine again… until X amount of time later, when I have to…

108

HOWTO: Diagnose 401.x HTTP errors on IIS

One of the most common questions asked about IIS on the newsgroups as well as Microsoft Product Support is “why am I getting 401 Access Denied”? There are many, many possible causes and variations, but from the IIS perspective, the top-level, logical categories are fixed. This information can help dramatically narrow down the scope of…

90

HOWTO: Enumerate IIS website configuration (VBScript using ADSI)

A powerful but often under-utilized and misunderstood feature of IIS is its programmatic configuration APIs. On the one hand, all IIS administrative APIs allow programmatic, automated, and unattend configuration of IIS. On the other hand, it can be hard to choose which administration model (and resulting API) to use, and sample code to get started…

77

HOWTO: Diagnose and Fix Common ISAPI Filter Installation Failures

How many of you are familiar with the following scenario of ISAPI Filters on IIS: You have just obtained an ISAPI Filter DLL (either you compiled/linked it from source, or the binary was given or purchased) You figured out whether to configure the DLL as a global or site ISAPI Filter You restarted IIS to…

73

HOWTO: ISAPI Filter which Logs original Client IP for Load Balanced IIS Servers

Invariably, when you run IIS servers that are load-balanced or forwarded requests behind some other network device, you will find that IIS logs the IP of the network device and not the original client that made the request. Technically, there is no standard describing how to address/fix this situation, so IIS does not have built-in support…

72

HOWTO: Install and run PHP on IIS7

Question: Hi all, I have trouble to configure PHP 5 (CGI mode) in IIS 7 on Vista 5308… What I did:- Download and unpack PHP- set user permission to PHP folder AND script folder (IIS_IUSRS and Internet Guest Account)- in IIS Manager: Added pages in Default documents- Added in “ISAPI and GCI Restrictions”: Allowed PHP …

67