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.
- 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:
- Open the MMC for ISA Server.
- Click Client Configuration.
- In the right pane, right-click Web Browser, and then click Properties.
- Click the General tab, and then locate the Port text box.
- When you are prompted to select an application to open the automatic configuration script, click to select the Notepad check box.
- 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.
- Save the automatic configuration script in a virtual directory on your Web server. The file extension should be .pac.
- 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.
- Click the Connections tab, and then click LAN Settings.
- 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. - Click OK two times to confirm your changes.