wiki.getshifting.com

--- Sjoerd Hooft's InFormation Technology ---

User Tools

Site Tools


proxypac

Proxy Pac

Summary: A basic proxy pac script to manage your internal network for outgoing and intranet network traffic.
Date: Around 2014
Refactor: 22 March 2025: Checked links and formatting.

If you've created a proxy server you can create an automatic proxy script so your users don't have to turn off the proxy for internal addresses and it's easier to make changes.

An example proxy pac file

/*
 * Standard proxy.pac automatic proxy configuration.
 *
 * sjoerd [@] warmetal.nl
 * 22 aug 2008
 *
 * Will not proxy for short hostnames for domain.local and raw URL http://10.*
 *
 */

function FindProxyForURL(url, host)
{
 // If no domain name in the host(no dots) are found go DIRECT
  if (isPlainHostName(host) || dnsDomainIs(host, ".domain.local"))
  {
     return "DIRECT";
  }
  else if (url.substring(0, 10) == "http://10." ||
           url.substring(0, 11) == "https://10." ||
           url.substring(0, 11) == "http://127." ||
           url.substring(0, 12) == "https://127." )
  {
     return "DIRECT";
  }
  else
  {
     return "PROXY proxy:8080";
  }
}

Note that you need a DNS record for the proxy

2nd example

function FindProxyForURL(url, host)
{
  // our local URLs from the domains below don't need a proxy:
  if (shExpMatch(url, "*.wiki.getshifting.com*")) {
  return "DIRECT";
  } else {
  // All other requests go through port 3128 of proxy.getshifting.com.
  return "PROXY proxy.getshifting.com:3128";
  }
}

File

To use a proxy.pac file place it in the document root of your webserver:

cat /etc/apache2/default-server.conf | grep -i root
DocumentRoot "/srv/www/htdocs"

Now you can enter an “automatic proxy configuration url” (firefox) or “Use automatic configuration script” (Internet explorer). The address would be:

http://proxy.5p-it.com/proxy.pac

More information

All the possible options are described here:
http://lib.ru/WEBMASTER/proxy-live.txt

proxypac.txt · Last modified: by 127.0.0.1