Initializing IIS 7.5 Applications (Warm Up) and HTTPS

We have been using the application initialization module with IIS 7.5 for a long time, and it always worked perfectly.

However, we just started to implement SSL and it seems that we have created a conflict with the warm-up. I have done quite a bit of research, but so far no solution has been found.

Basically, the problem is that the initialization module is not redirecting. We must support http for a specific part of the site, but we will redirect all other HTTP visits to their HTTPS equivalent. I solved this using a rewrite rule that returns 302 to the https page. Initialization gets this 302, but just ignores it.

The solutions I tried:

APP_WARMING_UP server variable

This question will make the most sense. I could just make a rewrite rule to ignore every request whenever {APP_WARMING_UP} 1 is returned. According to the documentation, this value is 1 while initialization is still in progress. This, unfortunately, does not work at all, because {APP_WARMING_UP} just returns an empty string at all times. Maybe this is a limitation from 7.5? (See My rewrite rule below.)

Change the initialization page to the HTTPS version

It is currently configured as follows:

    <applicationInitialization remapManagedRequestsTo="Warmup.htm" skipManagedModules="true" doAppInitAfterRestart="true">
        <add initializationPage="/WarmUp?id=1" />
    </applicationInitialization>

I tried changing the URL to "https: // {HTTP_HOST} / Login / WarmUp? Id = 1" and even replaced {HTTP_HOST} with an absolute address, but both configurations completely disabled application initialization. It doesn't even make a page request anymore.

This is the module documentation:

http://www.iis.net/learn/get-started/whats-new-in-iis-8/iis-80-application-initialization

, . .

<rule name="HTTP to HTTPS redirect" enabled="true" stopProcessing="true">
    <match url="(.*)" />
    <conditions>
        <add input="{APP_WARMING_UP}" pattern="1" negate="true" />
        <add input="{REQUEST_URI}" pattern="/services" negate="true" />
        <add input="{HTTPS}" pattern="off" />
    </conditions>
    <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" logRewrittenUrl="true" />
    <serverVariables>
        <set name="SKIP_MANAGED_MODULES" value="0" />
    </serverVariables>
</rule>

, ?

+4
1

. , , , SSL. . KB. , HTTP- https.

, , http https.

+9

All Articles