У меня есть прокси-сервер 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