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