Sun Java System Web Proxy Server 4.0.4 管理ガイド

例 2: ファイアウォールの外側にあるローカルサーバーのプロキシ

この例は「例 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.commerchant.example.com も、プロキシを経由します。

例外の順序によって効率を上げることができます。localHostOrDomainIs() () 関数は、すべての URL に対してではなく、ローカルドメイン内の URL に対してのみ実行されます。特に、and 式の前の or 式を囲む括弧に注意してください。