cancel
Showing results for 
Search instead for 
Did you mean: 

AutoConfig.PAC

Rob_Wilcox1
Level 6
Partner

 

Proxy Autoconfiguration Files, aka PAC files, are files which browsers can use to determine which proxy server to direct the HTTP requests towards.  So for example you may have a small AutoConfig.PAC file which looks at your current IP address, and if it’s in the European range, use server E to send your HTTP traffic towards, and if it’s in the America’s IP range, use server A to send your HTTP traffic towards.

Essentially it allows administrators to stop web traffic spanning the globe.

Here is an example of a short one :

function FindProxyForURL(url, host)
{   if     (shExpMatch(url, "https://www.randomcorp.co.uk/*";) ||
            shExpMatch(url, "http://www.randomcorp.co.uk/*";) ||
            shExpMatch(url, "https://test.randomcorp.co.uk/*";) ||
            shExpMatch(url, "https://datas.randomcorp.co.uk/*";) ||
            shExpMatch(url, "https://dev.randomcorp.co.uk/*";))
        return "PROXY 172.15.238.161:80; PROXY 172.19.238.122:80; PROXY 172.19.238.123:80; PROXY 172.19.238.124:80";
    else if      (isPlainHostName(host) ||
            dnsDomainIs(host, "localhost") ||
            dnsDomainIs(host, "localhost.localdomain") ||
            dnsDomainIs(host, "randomcorp.co.uk") ||
            isInNet(host, "127.0.0.0", "255.255.255.0") ||
            isInNet(host, "172.16.0.0", "255.240.0.0") ||
            isInNet(host, "192.168.0.0", "255.255.0.0") ||
            isInNet(host, "198.214.245.0", "255.255.255.0") ||
            isInNet(host, "198.214.247.0", "255.255.255.0") ||
        isInNet(host, "198.214.249.113", "255.255.255.255") ||
            isInNet(host, "51.142.139.34", "255.255.255.255") ||
            isInNet(host, "137.252.112.0", "255.255.255.0"))
        return "DIRECT";
    else
    return "PROXY 172.20.222.101:80; PROXY 172.20.222.102:80; PROXY 172.20.222.103:80; PROXY 172.20.222.104:80";
}

The problem with some of these PAC files is that they can cause the Enterprise Vault Outlook Add-in and Outlook itself to get “confused”.  It’s hard to describe it all fully, but essentially what happens if that the HTTP requests which the Enterprise Vault Outlook Add-in makes, for example, to check connectivity to the Enterprise Vault server cause the PAC file to be loaded, and Outlook then uses the results of that on going for that session for all HTTP traffic.

In some environments this isn’t desirable behaviour, and in some rare situations we’ve seen normal, non-archived mails containing embedded image hyperlinks take up to 2 minutes to display.

The other problem with PAC files is that they can become very large, and very inefficient all too easily.  There are some guides and resources available on the internet which can help you spot these potential areas for improvement, but really, it might not make any noticeable difference.

An awful lot of work was done by myself, Enterprise Vault Developers and Microsoft to better understand this behaviour.  The net result is a change in Enterprise Vault 9.0.2 Client and Server to allow administrators to try to work around this.

In the Desktop Policy there is an Advanced Outlook setting which defaults to “Use Proxy”, and this can be overriden :

 

When the change is made to the policy, and the mailboxes synchronised, the Enterprise Vault Outlook Add-in 9.0.2 and higher will then bypass the AutoConfig.PAC file.

There are some additional things to be aware of :-

* Only attempt this if you are suffering from the problem identified (ie “complex” non-archived messages, with embedded graphics/HTTP-links, taking a long time to render)

* For the full “easy to use” effect you need 9.0.2 and 9.0.2 client.

* There is a registry key which can be deployed on a client, if you don’t have 9.0.2 server, or if you want to just test it out on a single user more easily than changing the policy setting.  The registry key is called InternetOpenTypeDirect, and you se it to 1.

This registry key is listed in the 9.0.2 Registry Guide, and the change itself is described in the Enterprise Vault 9.0.2 Release Notes :

Policy settings to control whether the Outlook Add-Ins use Internet Explorer proxy settings [Ref 9027066, E1449151]

There is a new Outlook advanced setting named Use proxy settings in the Exchange desktop policy. Use proxy settings controls whether the Outlook Add-Ins use the Internet Explorer proxy settings on the client computer. The default is to use the proxy settings.

If users find that unarchived emails are previewed or opened slowly, you may wish to override the default so that the Outlook Add-Ins do not use the Internet Explorer proxy settings.

The new registry value InternetOpenTypeDirect performs the same function as Use proxy settings. The location of InternetOpenTypeDirect is:

HKEY_CURRENT_USER

    \SOFTWARE

       \KVS

         \Enterprise Vault

            \Client

InternetOpenTypeDirect contains a DWORD with the following possible values:

  • 0: Use proxy settings (default)
  • 1: Ignore proxy settings

If you are using an Enterprise Vault 9.0.2 Outlook Add-In with an earlier version of the Enterprise Vault server, you need to use the registry value InternetOpenTypeDirect on each client if you want to change this policy setting.