この例は「例 1: ローカルホスト以外の全サーバーのプロキシ」とよく似ていますが、ここではファイアウォールの外側にあるローカルサーバーに対してプロキシを使用しています。ローカルドメインに属しているが、ファイアウォールの外側にあり、プロキシサーバーを経由しないとアクセスできないホスト (主要な Web サーバーなど) が存在する場合、これらの例外は localHostOrDomainIs()() 関数を使用して処理されます。
function FindProxyForURL(url, host)
{
if ((isPlainhost name(host) ||
dnsDomainIs(host, ".example.com")) &&
!localHostOrDomainIs(host, "www.example.com") &&
!localHostOrDoaminIs(host, "merchant.example.com"))
return "DIRECT";
else
return "PROXY w3proxy.example.com:8080; DIRECT";
}
この例では、example.com ドメイン内のローカルホストを除くすべてに対してプロキシを使用しています。ホスト www.example.com と merchant.example.com も、プロキシを経由します。
例外の順序によって効率を上げることができます。localHostOrDomainIs() () 関数は、すべての URL に対してではなく、ローカルドメイン内の URL に対してのみ実行されます。特に、and 式の前の or 式を囲む括弧に注意してください。