Web Server Cannot Handle HTTP Request Made with ISA Array

Article translations Article translations
Article ID: 328428 - View products that this article applies to.
This article was previously published under Q328428
This article has been archived. It is offered "as is" and will no longer be updated.
Expand all | Collapse all

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.

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.

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.

References

For more information, visit the following Microsoft Web site:
http://www.microsoft.com/isaserver/techinfo/planning/ISA2000Caching.doc
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

Properties

Article ID: 328428 - Last Review: October 26, 2013 - Revision: 3.0
Applies to
  • Microsoft Internet Security and Acceleration Server 2000 Standard Edition
Keywords: 
kbnosurvey kbarchive kbprb KB328428

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com