Last updated on December 17, 2010
In both of these cases I am serving a typical PAC file off of Apache using RewriteRule ^/$ /internet.pac [R] to ensure that all requests to http://server.local/ go to http://server.local/internet.pac via an HTTP 302. Using a DirectoryIndex directive specifying internet.pac as the index file for the site also resulted in the same issue. In both cases the client was configured to look to http://server.local/ for a PAC file.
Complicating things further I found that if instead of relying on a RewriteRule or DirectoryIndex I instead pointed the config directly to the PAC file itself (in this case http://server.local/internet.pac) then the problem would not occur; Google Talk would download the entire PAC file (confirmed in a network capture) and sign in successfully regardless of MIME type.
For purposes of this testing I used the latest released version of Google Talk, 22.214.171.124, running on Windows 7. Google Talk was also set to Detect proxy automatically which reads the system’s proxy settings. In this case it is the PAC file setting is defined in either Internet Explorer or Control Panel under (Internet Options → Connections → LAN Settings → Use automatic configuration script).