Назад | Перейти на главную страницу

Как правильно настроить PAC файл?

У меня в сети стоит прокси-бокс squid + diladele. Я установил файл PAC, который должен делать следующее:

1) Если IP-адрес клиента принадлежит текущей сети (192.168.0.0/24) и пытается получить доступ к ресурсу вне сети, используйте прокси. 2) Если клиент пытается получить доступ к внутреннему ресурсу, предоставьте прямой доступ и обойдите прокси

Вот что я написал до сих пор

// If the IP address of the local machine is within a defined
// subnet, send to a specific proxy.
    if (isInNet(myIpAddress(), "192.168.0.0", "255.255.255.0"))
        return "PROXY 192.168.0.253:3128";

// If the requested website is hosted within the internal network, send direct.
    if (isPlainHostName(host) ||
        shExpMatch(host, "*local") ||
        isInNet(dnsResolve(host), "192.168.0.0","255.255.0.0") ||
        isInNet(dnsResolve(host), "127.0.0.1", "255.255.255.255")||
        shExpMatch(host,"localhost"))
        return "DIRECT";
// DEFAULT RULE: All other traffic, use below proxies, in fail-over order.
        return "DIRECT";

Все работает отлично, однако, когда я пытаюсь получить доступ к ресурсу на localhost (У меня есть стек ламп на моем устройстве) по какой-то причине меня перенаправляют на свой веб-интерфейс прокси (192.168.0.253). Что я делаю не так?

Это может пролить свет на то, что происходит:

if (isInNet(myIpAddress(), "192.168.0.0", "255.255.255.0"))
    return "PROXY 192.168.0.253:3128";

"Функция myIpAddress, как часто сообщается, дает неверные или непригодные для использования результаты, например 127.0.0.1, IP-адрес локального хоста. Это может помочь удалить в файле хоста системы (например, / etc / hosts в Linux) любые строки, относящиеся к имя хоста компьютера, в то время как строка 127.0.0.1 localhost может и должна остаться. В Internet Explorer 9 isInNet ("localHostName", "second.ip", "255.255.255.255") возвращает значение true и может использоваться как обходной путь. Функция myIpAddress предполагает, что у устройства есть единственный IPv4-адрес. Результаты не определены, если устройство имеет более одного IPv4-адреса или имеет IPv6-адреса ».

https://en.wikipedia.org/wiki/Proxy_auto-config#The_PAC_File