Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

Web Server Cannot Handle HTTP Request Made with ISA Array


View products that this article applies to.

Symptoms

If you request a Web page by using an Internet Security and Acceleration (ISA) Server array, you may be redirected to the logon page while you view the Web site, or you may receive an error message from the Web server that is similar to one of the following:
You are trying to access the session of another user.
or
The session is expired.
The problem does not occur if you are using a single ISA Server computer or a direct Internet connection.

↑ Back to the top


Cause

In Enterprise mode, ISA Server uses the Cache Array Routing Protocol (CARP) functionality to enhance performance and for load balancing. This means that the Web server receives the requests for the same session from different source IP addresses. Some Web sites, such as online banking environments, are very restrictive and do not permit the source IP address to change during a session.

↑ Back to the top


Workaround

To make sure that the source IP address does not change, disable the CARP functionality on the ISA Server array. If you must use load balancing, you can use a custom browser configuration script that sends the requests to the correct ISA Server computer (based on the same algorithm as the server-side CARP) and that contains an exception for Web sites that cause the problem.

ISA Server provides such a configuration script, but it cannot be modified on the ISA Server computer itself. The script contains entries that help you to directly access Web servers and to add a backup route. You must put the modified version of the configuration script on a Web server in your intranet and then reconfigure your browsers to load the configuration script from the new location. To do this, follow these steps:
  1. Disable the CARP functionality in the ISA Server array:
    1. Open the Microsoft Management Console (MMC) for ISA Server.
    2. Right-click the array, and then click Properties.
    3. Click the Outgoing Web requests tab, and then click to clear the Resolve requests within array before routing check box.
    4. When you are prompted, restart the Web Proxy service.
  2. Use Microsoft Internet Explorer to download the routing script from ISA Server. The default location for the routing script is http://ISA_Array:8080/array.dll?Get.Routing.Script, where ISA_Array is the name of your ISA Server array. In this example, the specified port for the automatic configuration script is 8080. This may be different in your environment. To determine the port in your environment:
    1. Open the MMC for ISA Server.
    2. Click Client Configuration.
    3. In the right pane, right-click Web Browser, and then click Properties.
    4. Click the General tab, and then locate the Port text box.
  3. When you are prompted to select an application to open the automatic configuration script, click to select the Notepad check box.
  4. Locate the section that starts with the following:
    function FindProxyForURL(url, host){
    					
    Locate the following line in this function:
     var urlhash, ibest, bestscore, list, i, j;
    					
    Directly below this line add the following code:
     if (url.substring(0, <strlen>) == "http://www.example.com") 
      return "PROXY <ip-address>:<port>";
    					
    NOTE: In this example, the Web page that cannot handle requests from several IP addresses simultaneously is www.example.com. That is, all requests that relate to http://www.example.com are handled by only one dedicated ISA Server computer. This page will be different in your environment. Replace IP address:port with the correct values for the dedicated ISA Server computer. Replace strlen with the length of your URL. In this example, you must replace strlen with 22.

  5. Save the automatic configuration script in a virtual directory on your Web server. The file extension should be .pac.
  6. Reconfigure your Web browser to load the configuration script from the new location on the Web server. To do this:
    1. In Internet Explorer, click Internet Options on the Tools menu.
    2. Click the Connections tab, and then click LAN Settings.
    3. Click to select the Use automatic configuration script check box, and then type the URL of the new automatic configuration script in the Address box. The URL may look similar to http://webserver/isaconfig.js.

      NOTE: Make sure that only the Use automatic configuration script check box is selected.
    4. Click OK two times to confirm your changes.

↑ Back to the top


References

For more information, visit the following Microsoft Web site: For additional information, click the article numbers below to view the articles in the Microsoft Knowledge Base:
270524 Get.Info and Get.Routing.Script Functions Return Useful Diagnostic Information About the Web Proxy Array

↑ Back to the top


Keywords: KB328428, kbprb

↑ Back to the top

Article Info
Article ID : 328428
Revision : 2
Created on : 9/9/2003
Published on : 9/9/2003
Exists online : False
Views : 430