Microsoft KB Archive/328428

= Web Server Cannot Handle HTTP Request Made with ISA Array =

Article ID: 328428

Article Last Modified on 9/9/2003

-

APPLIES TO


 * Microsoft Internet Security and Acceleration Server 2000 Standard Edition
 * Microsoft Internet Security and Acceleration Server 2000 Service Pack 1

-



This article was previously published under Q328428



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:  Disable the CARP functionality in the ISA Server array:  Open the Microsoft Management Console (MMC) for ISA Server. Right-click the array, and then click Properties. Click the Outgoing Web requests tab, and then click to clear the Resolve requests within array before routing check box. When you are prompted, restart the Web Proxy service. </li> Use Microsoft Internet Explorer to download the routing script from ISA Server. The default location for the routing script is http:// :8080/array.dll?Get.Routing.Script, where  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:  Open the MMC for ISA Server.</li> Click Client Configuration.</li> In the right pane, right-click Web Browser, and then click Properties.</li> Click the General tab, and then locate the Port text box.</li></ol> </li> When you are prompted to select an application to open the automatic configuration script, click to select the Notepad check box.</li>  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, ) == &quot;http://www.example.com&quot;) return &quot;PROXY <ip-address>: &quot;; 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 :  with the correct values for the dedicated ISA Server computer. Replace  with the length of your URL. In this example, you must replace  with 22.

</li> Save the automatic configuration script in a virtual directory on your Web server. The file extension should be .pac.</li> Reconfigure your Web browser to load the configuration script from the new location on the Web server. To do this:  In Internet Explorer, click Internet Options on the Tools menu.</li> Click the Connections tab, and then click LAN Settings.</li> 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.</li> Click OK two times to confirm your changes.</li></ol> </li></ol>

<div class="references_section">