Configurazione automatica del proxy: Difference between revisions

From RVM Wiki
Jump to navigation Jump to search
No edit summary
 
 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Category: Squid, Intenet Explorer]]
[[Category: Squid]]
[[Category: Intenet Explorer]]




= Come configurare automaticamente un proxy selezionando nel Browser "Configurazione Automatica" =
Di seguito verrà spiegatoc come configurare automaticamente un proxy selezionando nel Browser "Configurazione Automatica"


Preso da [http://cache.garr.it/wpad.html La configurazione automatica via wpad.pad]
== Settaggio A Record ==


Il protocollo WPAD (Web Proxy Autodiscovery Protocol) elaborato da un gruppo di produttori software (Inktomi, Microsoft, RealNetworks, Sun Microsystems), è nato per consentire la massima trasparenza all'utente finale per la configurazione del proprio browser, continuando a sfruttare le proprietà dell'autoconfigurazione, insieme alla localizzazione automatica del server web depositario dello script per l'autoconfigurazione entro il dominio di appartenenza del client.
* '''ATTENZIONE: IL RECORD DNS DEVE ESSERE PER FORZA UN A RECONRD -NON- PUOÒ ESSERE UN CNAME (*[http://serverfault.com/questions/54567/internet-explorer-isnt-auto-discovering-http-wpad-wpad-dat-auto-config domain name system - Internet Explorer isn't auto-discovering http://wpad/wpad.dat auto-config - Server Fault])!!!!
Il principio è molto semplice: il browser che implementa tale protocollo inizia la sua indagine andando ad interrogare il proprio DNS alla ricerca del nome "wpad.dominio_del_client.it". Se esiste un record A (address) che corrisponde a tale nome, il browser cercherà di caricare come file di autoconfigurazione quello corrispondente al seguente URL:
* Settare sul dns un A record che punti ad un web server che conterrà il file di autoconfigurazione:


  http://wpad.dominio_del_client.it/wpad.dat
  wpad.domain.tld 192.168.10.254


Se il gestore della cache del dominio "dominio_del_client.it" avrà predisposto sul web server corrispondente al nome wpad.dominio_del_client.it il file /wpad.dat (nella document root directory del web), allora il client si autoconfigurerà seguendo le direttive Javascript in esso contenute.
Più semplicemente il wpad.dat sarà una copia o un link simbolico al file proxy.pac che il gestore della cache avrà comunque preparato per tutti quei browser che ancora non implementano il protocollo WPAD (tutti tranne MSIE 5).


Il protocollo prevede anche altri tentativi, oltre alla ricerca DNS, quali query DHCP. Ma il metodo più sicuro per sperimentarlo è il ricorso appunto ad una semplice configurazione DNS.
* C'è chi dice che si debba mettere anche il record TXT e queste altre cose, ma basta l'A record:
Si noti infine che l'implementazione prevede la scansione di tutti i livelli di domini a partire da quello più alto, discendendo poi fino al secondo livello.
Questo consente quindi la creazione di wpad.dat dipartimentali, se ve ne fosse la necessità,


In tutti i casi un proxy.pac o wpad.dat deve per poter essere utilizzato essere messo in linea su un web server opportunamente configurato.
<pre>
E' necessario infatti, laddove non esistesse già, aggiungere un MIME-type particolare per far sì che il browser lo carichi come javascript di autoconfigurazione (e non lo visualizzi come testo invece).
wpad.damain.tld        IN      A      192.168.10.254
Ogni web server ha un proprio sistema di configurazione dei mime types, ed occorre verificare la documentazione relativa per associare l'estensione .pac e .dat al MIME-type "application/x-ns-proxy-autoconfig".
                                IN      TXT    "service: wpad:!http://wpad.domain.tld:80/wpad.dat"
Nel caso di Apache è sufficiente editare il file mime.types ed aggiungere la seguente riga:
wpad.tcp                        IN      SRV    0 0 80 wpad.domain.tld
</pre>


==Settaggio opzione DHCP==
* È possibile settare sul client l'opzione di utilizzo WPAD anche passando un'opzione DHCP. Non viene trattato qui.


application/x-ns-proxy-autoconfig              pac dat
== Creazione del file di Autoconfigurazione ==


* Vedi:
:*http://en.wikipedia.org/wiki/Proxy_auto-config
:*http://code.google.com/p/pactester/
:*http://code.google.com/p/pacparser/


Ultima nota relativamente ad alcuni bug nell'implementazione Microsoft, il primo relativo al radio button con il quale si seleziona la ricerca automatica della configurazione, che può essere erroneamente selezionato insieme alle altre opzioni che dovrebbe escludere, con risultati non predicibili. L'ultimo bug riguarda il meccanismo di localizzazione medesimo. Si veda allo scopo la segnalazione Microsoft numero: MS99-054. Tale vulnerabilità viene risolta a partire dalla release 5.01.
* Creare la directory per il virtualhost:


Altra documentazione utile riguardante l'argomento potete trovarla ai seguenti Link:
<pre>
cd /var/www/
sudo mkdir wpad
cd wpad
</pre>


* [http://home.netscape.com/eng/mozilla/2.0/relnotes/demo/proxy-live.html proxy-pac javascript]
* Creare lo script di configurazione:
* [http://developer.netscape.com/docs/manuals/proxy/adminux/autoconf.htm proxy-pac]
<pre>
* [http://www.cam.ac.uk/WWW/ProxyServer/confignotes.html wpad implementation]
cat | sudo tee /var/www/wpad/wpad.dat > /dev/null <<EOFile
function FindProxyForURL( url, host )  {
        if(    isPlainHostName( host )
                dnsDomainIs( host, ".domain.tld" )
          )       
                return "DIRECT";
        else
                return  "PROXY proxy.domain.tld:3128";
}
EOFile
</pre>
 
* Linkarlo per Firefox
sudo ln -s wpad.dat proxy.pac
 
* Linkarlo sul sito di default (questo perchè alcune versioni di IE cercando lo script non come http://wpad/wpad.dat ma come http://192.168.10.254/wpad.dat) :
cd /var/www
sudo ln -s wpad/wpad.dat wpad.dat
 
===TEST E DEBUG DELLO SCRIPT WPAD===
 
* Per testare la sintassi
sudo ln -s wpad/wpad.dat wpad.js
 
* Caricarlo in IE: http://wpad/wpad.js
 
* Oppure testarlo col tool pactester:
sudo apt-get install libpacparser1
 
pactester -p wpad.dat -u https://www.google.com -c 192.168.10.11
PROXY proxy.example.com:3128; PROXY 192.168.10.254:3128;
 
* PROCEDERE SOLO SE LO SCRIPT È CORRETTO
 
== Definizione Virtual Host ==
 
* Definire il virtual host wpad
 
=== Per Apache 1.3 ===
 
<pre>
cat > /etc/apache/conf.d/wpad.conf <<EOFile
<VirtualHost ip.ad.dr.es>
        ServerName wpad.yourdomain.tla
        ServerAlias ip.ad.dr.ess
DocumentRoot /var/www/wpad
        AddType application/x-ns-proxy-autoconfig .dat
</VirtualHost>
EOFile
</pre>
 
=== Per Apache 2 ===
 
Defineire il nome del server web:
 
sudoedit /etc/apache2/apache2.conf
ServerName mywebserver
 
Creare il file di configurazione di apache
 
<pre>
cat | sudo tee /etc/apache2/sites-available/wpad.conf > /dev/null <<EOFile
NameVirtualHost *:80
 
<VirtualHost *:80>
        ServerName wpad.domain.tld
        ServerAlias wpad
        DocumentRoot /var/www/wpad
        AddType application/x-ns-proxy-autoconfig .dat
</VirtualHost>
 
<VirtualHost *:80>
        ServerName wpad
        ServerAlias wpad
        DocumentRoot /var/www/wpad
        AddType application/x-ns-proxy-autoconfig .dat
</VirtualHost>
EOFile
</pre>
 
* Abilitare il sito
sudo a2ensite wpad.conf
 
* Riavviare Apache
sudo invoke-rc.d apache2 restart
 
* Controllare di riuscire a leggere il file da Internet explorer
 
http://wpad/wpad.dat
http://wpaddomain.tld/wpad.dat
 
== Configurazione di Internet Explorer ==
 
===Test dello script===
* Settare l'impostazione di test. Configurare Internet explorer in
Strumenti ... Opzioni Internet ... Connessioni ... Impostazioni LAN
 
* Spuntare SOLO:
Utilizza script di configurazione automatica
 
* Inserire
http://wpad/wpad.dat
 
* Chiudere e riaprire Internet Explorer e verificare che le impostazioni siano applicate
 
===Impostazione definitiva===
 
* Ora settare l'impostazione definitiva. Configurare Internet explorer in
Strumenti ... Opzioni Internet ... Connessioni ... Impostazioni LAN
 
* Spuntare SOLO:
Rileva automaticamente impostazioni
 
* '''ATTENZIONE: Avviare IE cliccando sull'icona sul Desktop, altrimenti la risoluzione wpad non avviene. Se si lancia IE dal collegamento sulla task bar non funziona. In particolare, non viene creata la chiave HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections\DefaultConnectionSettings'''
 
* Se si hanno difficoltà, impostare la prima volta il percorso dello script nelle opzioni di IE e poi disabilitarlo. questo provvederà a creare la chiave.
 
* La prima connessione impiega un pò di tempo, perchè IE deve configurarsi, dopodichè fa una cache delle impostazioni e parte subito.
 
== Riferimenti ==
 
* [https://igorpuhalo.wordpress.com/2022/08/09/windows-proxy-settings-ultimate-guide-part-iii-wpad-pac-configuration-file/ Windows proxy settings ultimate guide part III – WPAD/PAC configuration file – IP loging]
 
*[http://tektab.com/2012/09/26/setting-up-web-proxy-autodiscovery-protocol-wpad-using-dns/ Setting up Web Proxy Autodiscovery Protocol (WPAD) using DNS | Open Source Open Standard]
*[http://www.proxypacfiles.com/proxypac/index.php?option=com_content&view=article&id=61&Itemid=102 PAC File Basics]
*[http://code.google.com/p/pacparser/ pacparser - A library to make your web software pac (proxy auto-config) files intelligent. Comes with much useful pactester tool now. - Google Project Hosting]
*[http://findproxyforurl.com/debug-pac-file/ Debug PAC File « FindProxyForURL - PAC & WPAD Resource]
*[http://www.isaserver.org/blogs/pouseele/isa-corner/clearing-the-cached-wpad-script-57.html Clearing the Cached WPAD Script]
*[http://www.wlug.org.nz/WPAD Web Proxy Autodiscovery Protocol]
*[http://www.flatmtn.com/computer/Linux-SquidNT.html#Squid-6 Auto configuration of browsers]
*[http://cache.garr.it/wpad.html La configurazione automatica via wpad.pad]
*[http://home.netscape.com/eng/mozilla/2.0/relnotes/demo/proxy-live.html proxy-pac javascript]
*[http://developer.netscape.com/docs/manuals/proxy/adminux/autoconf.htm proxy-pac]
*[http://www.cam.ac.uk/WWW/ProxyServer/confignotes.html wpad implementation]
*[http://groups.google.com/group/microsoft.public.windows.inetexplorer.ie6.browser/browse_thread/thread/ee98cf91222212b6/69ffce2f029907a7%2369ffce2f029907a7 BUG: WPAD detection does not work on first run of IE - microsoft.public.windows.inetexplorer.ie6.browser | Google Groups]
*[http://man.chinaunix.net/newsoft/squid/Squid_FAQ/FAQ-5.html SQUID Frequently Asked Questions: Communication between browsers and Squid]
*[http://www.wlug.org.nz/WPAD WPAD - Waikato Linux Users Group]
*[http://www.microsoft.com/technet/prodtechnol/ie/reskit/6/part6/c26ie6rk.mspx?mfr=true Internet Explorer 6: Automatic Configuration, Proxy, and Detection]
*[http://blog.freyguy.com/archives/2006/03/01/proxy-auto-detect-ie-and-firefox/ Proxy Auto-Detect (IE and Firefox) -> Pavlov Scope]

Latest revision as of 11:31, 12 February 2025


Di seguito verrà spiegatoc come configurare automaticamente un proxy selezionando nel Browser "Configurazione Automatica"

Settaggio A Record

wpad.domain.tld 192.168.10.254


  • C'è chi dice che si debba mettere anche il record TXT e queste altre cose, ma basta l'A record:
wpad.damain.tld         IN      A       192.168.10.254
                                IN      TXT     "service: wpad:!http://wpad.domain.tld:80/wpad.dat"
wpad.tcp                        IN      SRV     0 0 80 wpad.domain.tld

Settaggio opzione DHCP

  • È possibile settare sul client l'opzione di utilizzo WPAD anche passando un'opzione DHCP. Non viene trattato qui.

Creazione del file di Autoconfigurazione

  • Vedi:
  • Creare la directory per il virtualhost:
cd /var/www/
sudo mkdir wpad
cd wpad
  • Creare lo script di configurazione:
cat | sudo tee /var/www/wpad/wpad.dat > /dev/null <<EOFile
function FindProxyForURL( url, host )  {
        if(     isPlainHostName( host )
                dnsDomainIs( host, ".domain.tld" )
           )         
                return "DIRECT"; 
        else
                return  "PROXY proxy.domain.tld:3128";
}
EOFile
  • Linkarlo per Firefox
sudo ln -s wpad.dat proxy.pac
cd /var/www
sudo ln -s wpad/wpad.dat wpad.dat

TEST E DEBUG DELLO SCRIPT WPAD

  • Per testare la sintassi
sudo ln -s wpad/wpad.dat wpad.js
  • Oppure testarlo col tool pactester:
sudo apt-get install libpacparser1 
pactester -p wpad.dat -u https://www.google.com -c 192.168.10.11
PROXY proxy.example.com:3128; PROXY 192.168.10.254:3128;
  • PROCEDERE SOLO SE LO SCRIPT È CORRETTO

Definizione Virtual Host

  • Definire il virtual host wpad

Per Apache 1.3

cat > /etc/apache/conf.d/wpad.conf <<EOFile
<VirtualHost ip.ad.dr.es>
        ServerName wpad.yourdomain.tla
        ServerAlias ip.ad.dr.ess
	DocumentRoot /var/www/wpad
        AddType application/x-ns-proxy-autoconfig .dat
</VirtualHost>
EOFile

Per Apache 2

Defineire il nome del server web:

sudoedit /etc/apache2/apache2.conf

ServerName mywebserver

Creare il file di configurazione di apache

cat | sudo tee /etc/apache2/sites-available/wpad.conf > /dev/null <<EOFile
NameVirtualHost *:80

<VirtualHost *:80>
        ServerName wpad.domain.tld
        ServerAlias wpad
        DocumentRoot /var/www/wpad
        AddType application/x-ns-proxy-autoconfig .dat
</VirtualHost>

<VirtualHost *:80>
        ServerName wpad
        ServerAlias wpad
        DocumentRoot /var/www/wpad
        AddType application/x-ns-proxy-autoconfig .dat
</VirtualHost>
EOFile
  • Abilitare il sito
sudo a2ensite wpad.conf
  • Riavviare Apache
sudo invoke-rc.d apache2 restart
  • Controllare di riuscire a leggere il file da Internet explorer
http://wpad/wpad.dat
http://wpaddomain.tld/wpad.dat

Configurazione di Internet Explorer

Test dello script

  • Settare l'impostazione di test. Configurare Internet explorer in
Strumenti ... Opzioni Internet ... Connessioni ... Impostazioni LAN
  • Spuntare SOLO:
Utilizza script di configurazione automatica
  • Inserire
http://wpad/wpad.dat
  • Chiudere e riaprire Internet Explorer e verificare che le impostazioni siano applicate

Impostazione definitiva

  • Ora settare l'impostazione definitiva. Configurare Internet explorer in
Strumenti ... Opzioni Internet ... Connessioni ... Impostazioni LAN
  • Spuntare SOLO:
Rileva automaticamente impostazioni
  • ATTENZIONE: Avviare IE cliccando sull'icona sul Desktop, altrimenti la risoluzione wpad non avviene. Se si lancia IE dal collegamento sulla task bar non funziona. In particolare, non viene creata la chiave HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections\DefaultConnectionSettings
  • Se si hanno difficoltà, impostare la prima volta il percorso dello script nelle opzioni di IE e poi disabilitarlo. questo provvederà a creare la chiave.
  • La prima connessione impiega un pò di tempo, perchè IE deve configurarsi, dopodichè fa una cache delle impostazioni e parte subito.

Riferimenti