Posso fare in modo che Windows 7 modifichi le mie impostazioni proxy in base alla mia connessione di rete?


26

Spostando il mio LapTop tra lavoro e casa, devo modificare le impostazioni del proxy Internet. È possibile che Windows 7 modifichi queste impostazioni in base alla mia rete attualmente attiva?


1
Oh, mi piacerebbe che il mio laptop facesse lo stesso, troppo pigro per cercare la risposta :-(
Ivo Flipse,

Risposte:


20

È possibile configurarlo con uno PAC (script di configurazione automatica proxy). Sono piccoli script scritti in Javascript che ti consentono di specificare varie regole di connessione. La maggior parte dei moderni browser Web desktop può leggerli senza problemi, ho lo stesso configurato sia in Internet Explorer che in Firefox.

Un file PAC minimo che ti invia sempre al server proxy proxy.companyname sulla porta 81:

function FindProxyForURL(url, host)
{
     return "PROXY proxy.companyname:8080";
}

E un esempio leggermente più complicato di un file PAC che controlla su quale rete ti trovi controllando quale intervallo di indirizzi IP hai raccolto. In questo esempio a tutti i PC client della vostra azienda viene assegnato un indirizzo IP nell'intervallo 10.10. * Dal DHCP e accedono a Internet tramite il server proxy proxy.companyname sulla porta 81.

//Turn debug mode on by setting debug variable to any non-empty string
//Note that "" is an empty string, and that "0", "1" & "test" are not empty strings.


function FindProxyForURL(url, host)
  {
    var ip = myIpAddress();
    var debug = "";

    if(debug)
    {
        alert("proxy.pac IP=" + ip + "  HOST=" + host + "  URL=" + url);
    }

      // All client PCs on the internal network will have a 10.10.x.x address, check if I have this
     if (shExpMatch(ip, "10.10.*"))
     {
             if(debug)
          {
                 alert("Proxy for " + url);
             }
     return "PROXY proxy.companyname:81";
     }

     // If you have a different IP then this isn't the company network
     else 
     {
             if(debug)
          {
      alert("You are not at CompanyName so going direct for " + url);
             } 
            return "DIRECT";
     }

  }

Lo script ha anche una modalità di debug che puoi usare per verificare che funzioni e quale modalità (connessione PROXY o DIRECT) pensa che dovrebbe essere la tua connessione attuale.

Potresti anche creare uno script più complesso che controlli cose come se il server a cui ti stai connettendo sia sulla tua rete aziendale interna (e quindi desideri una connessione DIRETTA, anche se il tuo PC è attualmente sulla rete aziendale) qui è dove ' d metti tutto ciò che normalmente metti nella casella delle eccezioni proxy di IE, espandendolo in questo modo:

//Turn debug mode on by setting debug variable to any non-empty string
//Note that "" is an empty string, and that "0", "1" & "test" are not empty strings.


function FindProxyForURL(url, host)
  {
    var ip = myIpAddress();
    var debug = "";

    if(debug)
    {
        alert("proxy.pac IP=" + ip + "  HOST=" + host + "  URL=" + url);
    }

    // Detect if trying to connect to internal/intranet host
    if(isPlainHostName(host) || dnsDomainIs(host, "intranet.companyname"))
    {
 if(debug)
 {
            alert("Direct for " + url);    
     }
    return "DIRECT";   
    }

    // Detect if trying to connect to URLs on the internal network via internal DNS suffix or IP address
    if(shExpMatch(url, "*.companyname") || shExpMatch(host, "10.100.*"))
    {
 if(debug)
 {
     alert("Direct for " + url);
 } 
        return "DIRECT";    
    } 

     // All client PCs on the internal network will have a 10.10.x.x address, check if I have this
     if (shExpMatch(ip, "10.10.*"))
     {
             if(debug)
          {
                 alert("Proxy for " + url);
             }
     return "PROXY proxy.companyname:8080";
     }

     // If you have a different IP then this isn't the company network
     else 
     {
             if(debug)
          {
      alert("You are not at CompanyName so going direct for " + url);
             } 
            return "DIRECT";
     }

  }

Usa questo file salvandolo da qualche parte sull'unità C del tuo PC come qualcosa come proxy.pac, quindi per Internet Explorer, vai su Strumenti -> Opzioni (o Pannello di controllo -> Opzioni Internet) quindi fai clic sulla scheda Connessioni, fai clic sul pulsante Impostazioni LAN . Ora togli il segno di spunta dalla casella "Usa un server proxy" in basso e metti un segno di spunta in "Usa script di configurazione automatica" e digita l'indirizzo del tuo file PAC usando un file: // URL like file://C:/proxy.pac.

Impostazioni proxy IE

In alternativa per Firefox vai su Strumenti -> Opzioni, fai clic sulla scheda Avanzate, fai clic sulla scheda Rete, fai clic sul pulsante Impostazioni, fai clic sull'impostazione "URL di configurazione automatica del proxy", usando nuovamente un file: /// URL (nota che in Firefox ci sono 3 barre dopo i due punti, ad es file:///C:/proxy.pac.

Impostazioni proxy Firefox


Si noti che Internet Explorer 11 ha modificato questo comportamento e ora non è possibile caricare un file PAC da un URL "file: //", è necessario utilizzare un URL "HTTP: //" o "HTTPS: //".

In Internet Explorer 11, il team di WinINET ha disabilitato il supporto di WinINET per gli script basati su file: // per promuovere l'interoperabilità tra stack di rete. Si consiglia alle aziende di ospitare invece i propri script di configurazione proxy su un server HTTP o HTTPS.

Esiste una soluzione alternativa che può riattivare questa funzione per il momento, ma non è consigliabile utilizzarla, poiché anche gli aggiornamenti futuri potrebbero disabilitarla.

Come soluzione temporanea, questo blocco può essere rimosso impostando la seguente chiave di registro:

Chiave: HKLM \ SOFTWARE \ Policies \ Microsoft \ Windows \ CurrentVersion \ Internet Settings \
Valore: EnableLegacyAutoProxyFeatures
Digitare: REG_DWORD
Dati: 1

Tieni presente che questa dovrebbe essere solo una misura temporanea, poiché questo blocco è stato introdotto per buoni motivi e la rimozione del blocco non risolverà magicamente le tue applicazioni basate su WinHTTP.

Si noti inoltre che dopo aver apportato questa modifica a IE11 sarà necessario modificare l'impostazione dell'indirizzo per lo script di configurazione automatica in quanto IE 11 accetta solo una sintassi per questo (vedere la parte inferiore dell'articolo collegato sul blog IE Internals di seguito).

Tuttavia, come notato, è improbabile che questa soluzione alternativa di chiave di registro continui a funzionare nelle versioni future di Internet Explorer, quindi è molto meglio trovare un modo per mantenere il PAC su un server Web. Il server Web IIS integrato di Windows farebbe e ce ne sono altri minimi che funzionerebbero anche per l'installazione sul tuo laptop.

Maggiori informazioni sulla voce del blog di IE Internals Informazioni sulla configurazione proxy Web .


È abbastanza bello finché non entri in un'altra rete wireless pubblica usando lo stesso intervallo IP privato che mi capita di usare a casa mia. :)
dannysauer,

Bel post. Ben scritta.
Jeff F.

1
Questo non funziona in Windoes 8.1
Milind R

3
Per espandere il commento di @ MilindR sopra, i file PAC sono ancora in Windows 8 / IE11, ma è necessario caricare il file PAC da un URL HTTP o HTTPS, non può semplicemente utilizzare un percorso basato su file o UNC. Maggiori informazioni dal team di Internet Explorer qui Informazioni sulla configurazione del proxy Web e questa risposta è stata aggiornata per riflettere le modifiche di IE11.
GAThrawn

4

Usa Free IP Switcher 1.0

testo alternativo

Descrizione:

Ogni volta che l'utente mobile si sposta su una rete diversa, deve cambiare un determinato indirizzo IP, indirizzo gateway, subnet mask, server proxy e stampante predefinita, ecc. In un particolare ambiente di rete. Per farlo, deve ricordare le informazioni sulle impostazioni TCP / IP di ogni rete. Inoltre, deve riavviare il computer per applicarlo al sistema e per accedere a Internet.

Non perdere tempo a riconfigurare le impostazioni di rete del computer ogni volta che cambi posizione. Free IP Switcher è la soluzione perfetta per te. Passa tra le impostazioni di rete preconfigurate con un solo clic e senza alcun riavvio. Con Free IP Switcher puoi modificare automaticamente tutte le impostazioni di rete sul tuo PC: indirizzo IP, maschere di rete, gateway predefinito, server DNS, server vincente, impostazioni proxy, stampante predefinita e altro.

Caratteristiche:

  • Cambia le impostazioni della rete IP "al volo" senza riavviare
  • Cambia le impostazioni del server proxy di Internet Explorer
  • Cambia la tua stampante predefinita
  • Cambia il nome del tuo computer e il gruppo di lavoro
  • Importa le impostazioni di rete correnti sull'impostazione
  • Supporto icona sulla barra delle applicazioni, avvio automatico con Windows
  • 100% spyware gratis, NON contiene spyware, adware o virus

2
Non riesco a credere che qualcosa di utile come i profili di configurazione di rete non sia già stato fatto parte di Windows 7. Ubuntu ce l'ha, Mac OS X ce l'ha. . .
dreamlax,

So che Dell ha creato uno strumento del genere per il mio Latitude, ma non mi è piaciuto :-(
Ivo Flipse

La versione di download non funziona per Windows /
Hakan Forss,

@IvoFlipse Riesci a ricordare ciò che è stato chiamato?
Matthys Du Toit,

@MatthysDuToit Non posso
Ivo Flipse

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.