¿Puedo configurar manualmente varios servidores proxy en el entorno?

¿Puedo configurar manualmente varios servidores proxy en el entorno?

Considere el siguiente archivo PAC:

function FindProxyForURL(url, host) {
    if (dnsDomainIs(host, "intranet.domain.com"))
        return "DIRECT";

    if (isInNet(myIpAddress(), "10.10.5.0", "255.255.255.0"))
        return "PROXY 1.2.3.4:8080";

    return "PROXY 4.5.6.7:8080; PROXY 7.8.9.10:8080";
}

¿Hay alguna manera de transferir esas configuraciones a $http_proxyvariables $no_proxyde entorno?

Respuesta1

no_proxypodría establecerse en algo así, no_proxy="intranet.domain.com,*.local,..."pero de lo contrario las variables de entorno son cadenas por proceso, por lo que no hay forma[†] de a) expresar la lógica de lo que isInNetsea ob) actualizar el entorno de los procesos existentes que tienen un conjunto de cadenas antiguo y ahora no válido. A menos que elimine todos sus procesos, establezca uno nuevo http_proxyen función de lo que isInNethaga, luego reinicie todos sus procesos para que cuando forkreciban una nueva copia del nuevo http_proxydel proceso principal.

Si todos los procesos están bajo su control, puede escribir una API para ajustar las variables de entorno. Esto fallará si alguna vez tiene forkalgo que no está bajo su control (porque entonces ese proceso puede tener pronto una cadena incorrecta configurada) y probablemente sea innecesariamente complicado en comparación con simplemente usar la lógica de negocios existente.

[†] bueno, existe gdbo no un parche de memoria de mono, por lo que no es una manera fácil o no loca

información relacionada