In questa serie di articoli: Guida completa alla configurazione dei server proxy nei sistemi operativi Windows 10/11 e Linux (Ubuntu, Debian, CentOS). Scoprirete tutti i metodi di configurazione: dall'interfaccia grafica alla riga di comando, dal registro di sistema alle variabili d'ambiente, dai file PAC alla configurazione automatica. Il materiale è aggiornato al 2025, tenendo conto degli ultimi aggiornamenti dei sistemi operativi.
📑 Sommario Parte 1 (Windows)
- Introduzione: perché configurare un proxy in Windows
- Configurazione del proxy in Windows 11 tramite GUI
- Configurazione del proxy in Windows 10
- Pannello di controllo classico (Opzioni Internet)
- Configurazione tramite Registro di sistema di Windows
- Configurazione tramite PowerShell
- Configurazione tramite riga di comando (netsh)
- Variabili d'ambiente in Windows
- Configurazione per applicazioni specifiche
🪟 Introduzione: perché configurare un proxy in Windows
Configurare un server proxy in Windows è un'abilità fondamentale per lavorare in reti aziendali, aggirare blocchi regionali, proteggere la privacy e automatizzare il web scraping. Nel 2025, Windows offre numerosi modi per configurare un proxy, dalla semplice interfaccia grafica ai potenti strumenti da riga di comando.
Scenari di utilizzo principali del proxy in Windows
🏢 Reti aziendali
La maggior parte delle aziende richiede l'uso di un proxy aziendale per l'accesso a Internet, il controllo del traffico e la garanzia della sicurezza.
🔒 Privacy
L'uso di un proxy consente di nascondere l'indirizzo IP reale, proteggere i dati personali e aggirare le restrizioni regionali.
⚙️ Automazione
Per web scraping, parsing dei dati e test automatizzati, i proxy sono necessari per la rotazione degli IP e l'aggiramento dei limiti.
🌍 Geolocalizzazione
Accesso a contenuti da diversi paesi per test, monitoraggio dei prezzi e verifica della disponibilità dei servizi.
✅ Cosa imparerai in questa parte
- Configurazione del proxy tramite interfaccia grafica di Windows 10 e 11
- Utilizzo del pannello di controllo classico
- Lavorare con il registro di sistema di Windows per una configurazione dettagliata
- Automazione tramite PowerShell e riga di comando
- Configurazione delle variabili d'ambiente
- Configurazione del proxy per applicazioni specifiche
🎨 Configurazione del proxy in Windows 11 tramite GUI
Windows 11 offre un'interfaccia delle impostazioni aggiornata con una navigazione migliorata. Nel 2025, questo metodo è il più semplice ed è consigliato per la maggior parte degli utenti.
Istruzioni passo passo
Passo 1: Apertura delle impostazioni
Premi Windows + I oppure apri il menu Start e seleziona l'icona dell'ingranaggio (Impostazioni).
💡 Suggerimento: Puoi anche fare clic destro sull'icona della rete nella barra delle applicazioni e selezionare "Impostazioni di rete".
Passo 2: Navigazione alle impostazioni proxy
Nella finestra Impostazioni, seleziona:
- Rete e Internet (Network & Internet) nel pannello di sinistra
- Scorri verso il basso e seleziona Proxy
Passo 3: Scelta del metodo di configurazione
Windows 11 offre tre modi per configurare il proxy:
🔄 Rilevamento automatico
Attivato per impostazione predefinita. Windows tenta di rilevare automaticamente le impostazioni proxy tramite DHCP o DNS.
📜 Usa script di configurazione
Per i file PAC (Proxy Auto-Config). Inserisci l'URL dello script di configurazione.
⚙️ Configura manualmente
Il metodo più comune. Inserisci l'indirizzo IP e la porta del server proxy manualmente.
Passo 4: Configurazione manuale del proxy
- Nella sezione "Configura manualmente", fai clic su Configura
- Attiva l'interruttore "Usa server proxy"
- Inserisci l'indirizzo IP o il nome di dominio del server proxy
- Inserisci la Porta (solitamente 8080, 3128, 80 o altro)
- (Opzionale) Nel campo "Non usare il server proxy per gli indirizzi", aggiungi le esclusioni
- Fai clic su Salva
Esempio di configurazione:
Indirizzo server proxy: 192.168.1.100
Porta: 8080
Non usare il proxy per:
localhost;127.0.0.1;*.local;192.168.*
⚠️ Importante: Le impostazioni proxy in Windows 11 vengono applicate a livello di sistema per tutte le applicazioni che utilizzano le API WinHTTP e WinINET. Tuttavia, alcune applicazioni (come Firefox) utilizzano le proprie impostazioni proxy.
🖥️ Configurazione del proxy in Windows 10
Il processo di configurazione del proxy in Windows 10 è molto simile a quello di Windows 11, ma con alcune differenze nell'interfaccia. Questo metodo è ancora valido nel 2025 per milioni di utenti.
Istruzioni per Windows 10
Metodo 1: Tramite Impostazioni di Windows
- Premi Windows + I per aprire Impostazioni
- Seleziona Rete e Internet
- Nel pannello di sinistra, seleziona Proxy
- Nella sezione "Configura proxy manualmente", attiva "Usa server proxy"
- Inserisci indirizzo e porta
- Fai clic su Salva
Configurazione delle esclusioni
Per evitare che alcuni indirizzi utilizzino il proxy, aggiungili nel campo delle esclusioni:
localhost;127.0.0.1;*.local;intranet.company.com
Gli indirizzi sono separati da punto e virgola. È possibile utilizzare caratteri jolly (*).
🎛️ Pannello di controllo classico (Opzioni Internet)
Un metodo vecchio ma ancora funzionale per configurare il proxy tramite la finestra "Proprietà del browser". Questo approccio offre funzionalità di configurazione avanzate non disponibili nell'interfaccia moderna di Windows.
Accesso a Opzioni Internet
Metodi di apertura:
1️⃣ Tramite comando Esegui
Premi Windows + R e digita:
inetcpl.cpl
2️⃣ Tramite Pannello di controllo
Pannello di controllo → Rete e Internet → Proprietà del browser
3️⃣ Tramite Internet Explorer
Menu → Strumenti → Proprietà del browser
Configurazione del proxy
- Apri la scheda Connessioni
- Fai clic sul pulsante Impostazioni LAN
- Nella sezione "Server proxy", spunta "Utilizza un server proxy per la LAN"
- Fai clic su Avanzate per le impostazioni dettagliate
Impostazioni avanzate del proxy
Il pulsante "Avanzate" consente di configurare proxy diversi per protocolli diversi:
| Protocollo | Indirizzo proxy | Porta |
|---|---|---|
| HTTP | 192.168.1.100 | 8080 |
| Sicuro (HTTPS) | 192.168.1.100 | 8443 |
| FTP | 192.168.1.100 | 2121 |
| Socks | 192.168.1.100 | 1080 |
✅ Vantaggio: È possibile utilizzare proxy diversi per diversi tipi di traffico
📝 Configurazione tramite Registro di sistema di Windows
Il Registro di sistema di Windows è uno strumento potente per la gestione diretta delle impostazioni di sistema. Questo metodo è adatto per utenti esperti e per l'automazione tramite script.
⚠️ Avvertenza: La modifica errata del registro può causare problemi al sistema. Eseguire un backup del registro prima di apportare modifiche. Utilizzare questo metodo solo se si comprende appieno cosa si sta facendo.
Chiavi di registro per il proxy
Posizione delle impostazioni
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
Parametri principali
| Parametro | Tipo | Valore | Descrizione |
|---|---|---|---|
| ProxyEnable | DWORD | 1 | Abilita proxy (0 = disabilita) |
| ProxyServer | String | 192.168.1.100:8080 | Indirizzo e porta del proxy |
| ProxyOverride | String | localhost;127.*;*.local | Esclusioni (indirizzi senza proxy) |
| AutoConfigURL | String | http://proxy/proxy.pac | URL del file PAC |
Esempio di file REG da importare
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"ProxyEnable"=dword:00000001
"ProxyServer"="192.168.1.100:8080"
"ProxyOverride"="localhost;127.0.0.1;*.local"
Salva questo testo in un file con estensione .reg e fai doppio clic per importarlo nel registro.
⚡ Configurazione tramite PowerShell
PowerShell è uno strumento moderno e potente per l'automazione delle impostazioni di Windows. Ideale per la configurazione di massa del proxy su molti computer o per l'automazione della configurazione.
Comandi PowerShell per la gestione del proxy
Abilitazione del proxy
# Impostazione dell'indirizzo del server proxy
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" `
-Name ProxyServer -Value "192.168.1.100:8080"
# Abilitazione del proxy
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" `
-Name ProxyEnable -Value 1
# Applicazione delle modifiche (notifica al sistema)
$signature = @'
[DllImport("wininet.dll")]
public static extern bool InternetSetOption(int hInternet, int dwOption, int lpBuffer, int dwBufferLength);
'@
$type = Add-Type -MemberDefinition $signature -Name wininet -Namespace pinvoke -PassThru
$type::InternetSetOption(0, 39, 0, 0) | Out-Null
Disabilitazione del proxy
# Disabilitazione del proxy
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" `
-Name ProxyEnable -Value 0
Verifica delle impostazioni correnti
# Ottieni tutte le impostazioni proxy
Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" | `
Select-Object ProxyEnable, ProxyServer, ProxyOverride, AutoConfigURL
Funzione pronta per la configurazione del proxy
function Set-Proxy {
param(
[Parameter(Mandatory=$true)]
[string]$Server,
[Parameter(Mandatory=$true)]
[int]$Port,
[string]$Override = "localhost;127.0.0.1;*.local"
)
$proxyString = "${Server}:${Port}"
$regPath = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings"
Set-ItemProperty -Path $regPath -Name ProxyServer -Value $proxyString
Set-ItemProperty -Path $regPath -Name ProxyEnable -Value 1
Set-ItemProperty -Path $regPath -Name ProxyOverride -Value $Override
Write-Host "Proxy configurato: $proxyString" -ForegroundColor Green
}
# Utilizzo:
Set-Proxy -Server "192.168.1.100" -Port 8080
💻 Configurazione tramite riga di comando (netsh)
L'utility netsh (Network Shell) è uno strumento classico da riga di comando di Windows per la gestione delle impostazioni di rete, incluso il proxy per WinHTTP.
Comandi netsh winhttp
Impostazione del proxy
netsh winhttp set proxy proxy-server="192.168.1.100:8080" bypass-list="localhost;*.local"
Importazione delle impostazioni da IE
netsh winhttp import proxy source=ie
Importa le impostazioni proxy da Internet Explorer in WinHTTP.
Visualizzazione delle impostazioni correnti
netsh winhttp show proxy
Ripristino delle impostazioni proxy
netsh winhttp reset proxy
💡 Suggerimento: I comandi netsh winhttp influenzano il WinHTTP di sistema, utilizzato da Windows Update, PowerShell e molte applicazioni di sistema, ma NON influenzano le impostazioni di Internet Explorer/Edge.
🌐 Variabili d'ambiente in Windows
Molte utility da console e applicazioni utilizzano le variabili d'ambiente per definire il server proxy. Questo è particolarmente importante per Python, Node.js, Git, curl e altri strumenti di sviluppo.
Variabili proxy standard
Impostazione tramite riga di comando (temporanea)
set HTTP_PROXY=http://192.168.1.100:8080
set HTTPS_PROXY=http://192.168.1.100:8080
set NO_PROXY=localhost,127.0.0.1,.local
Queste variabili sono valide solo nella sessione del prompt dei comandi corrente.
Impostazione tramite GUI (permanente)
- Apri "Sistema" (Windows + Pausa)
- Fai clic su "Impostazioni di sistema avanzate"
- Scheda "Avanzate" → "Variabili d'ambiente"
- Nella sezione "Variabili utente", fai clic su "Nuova"
- Aggiungi le variabili HTTP_PROXY, HTTPS_PROXY
Impostazione tramite PowerShell (permanente)
[Environment]::SetEnvironmentVariable("HTTP_PROXY", "http://192.168.1.100:8080", "User")
[Environment]::SetEnvironmentVariable("HTTPS_PROXY", "http://192.168.1.100:8080", "User")
[Environment]::SetEnvironmentVariable("NO_PROXY", "localhost,127.0.0.1", "User")
Formato con autenticazione
set HTTP_PROXY=http://username:password@192.168.1.100:8080
set HTTPS_PROXY=http://username:password@192.168.1.100:8080
⚠️ I caratteri speciali nella password devono essere codificati in URL (@ → %40, : → %3A)
🎯 Configurazione per applicazioni specifiche
Alcune applicazioni non utilizzano le impostazioni proxy di sistema e richiedono una configurazione propria. Vediamo gli strumenti più popolari.
🦊 Firefox
Firefox utilizza le proprie impostazioni proxy:
- Menu → Impostazioni → Rete
- Pulsante "Configura..."
- Configurazione manuale del proxy
- Inserisci indirizzo e porta
📦 Git
Configurazione del proxy per Git:
git config --global http.proxy http://192.168.1.100:8080
git config --global https.proxy http://192.168.1.100:8080
🐍 Python pip
Configurazione per pip:
pip install package_name --proxy http://192.168.1.100:8080
📦 npm
Configurazione per npm:
npm config set proxy http://192.168.1.100:8080
npm config set https-proxy http://192.168.1.100:8080
🎁 ProxyCove — proxy affidabili per Windows: Supporto per tutti i metodi di autenticazione (whitelist IP e login:password), compatibilità con qualsiasi applicazione, supporto tecnico 24/7. Registrati → e ottieni +$1.3 con il codice promozionale ARTHELLO
Continua presto...
Nella prossima parte: configurazione del proxy in Linux (Ubuntu, Debian, CentOS), variabili d'ambiente, configurazione di apt/yum tramite proxy
Configurazione proxy in Linux: Ubuntu, Debian, CentOS — Parte 2
In questa parte: Guida dettagliata alla configurazione dei server proxy in varie distribuzioni Linux — Ubuntu, Debian, CentOS e RHEL. Esamineremo le variabili d'ambiente di sistema, la configurazione tramite GUI, la configurazione dei gestori di pacchetti apt e yum, e la configurazione per applicazioni specifiche. Materiale aggiornato al 2025.
📑 Sommario Parte 2 (Linux)
- Caratteristiche della configurazione proxy in Linux
- Variabili d'ambiente (http_proxy, https_proxy)
- Configurazione a livello di sistema (/etc/environment)
- Configurazione in Ubuntu/Debian
- Configurazione in CentOS/RHEL
- Configurazione di APT tramite proxy
- Configurazione di YUM/DNF tramite proxy
- Configurazione in .bashrc e .profile
- Configurazione per applicazioni (curl, wget, git)
🐧 Caratteristiche della configurazione proxy in Linux
A differenza di Windows, Linux non ha un unico punto centralizzato per la configurazione del server proxy. Vengono invece utilizzati diversi metodi: variabili d'ambiente, file di configurazione, impostazioni di singole applicazioni e interfacce grafiche (nelle distribuzioni desktop).
Approcci principali alla configurazione del proxy in Linux
🌐 Variabili d'ambiente
Il metodo più comune. Le variabili http_proxy, https_proxy e no_proxy sono utilizzate dalla maggior parte delle utility da console.
📝 File di configurazione
File come /etc/environment, /etc/profile, ~/.bashrc per impostazioni di sistema e utente.
📦 Gestori di pacchetti
APT, YUM/DNF richiedono una configurazione separata nei loro file di configurazione.
🎨 Interfaccia grafica
GNOME, KDE e altri ambienti desktop forniscono una GUI per la configurazione del proxy (solo versioni desktop).
⚠️ Punti importanti
- In Linux non esiste uno standard obbligatorio per il proxy: ogni applicazione può ignorare le impostazioni di sistema
- Le variabili d'ambiente devono essere impostate sia in minuscolo che in maiuscolo (HTTP_PROXY e http_proxy)
- APT e YUM NON utilizzano le variabili d'ambiente di sistema automaticamente
- Per le versioni server (senza GUI), utilizzare solo la riga di comando e i file di configurazione
🔧 Variabili d'ambiente (http_proxy, https_proxy)
Le variabili d'ambiente sono il modo standard per configurare il proxy in Linux per le applicazioni da console. La maggior parte delle utility (curl, wget, apt-get se configurato correttamente) legge queste variabili.
Variabili proxy principali
Elenco delle variabili principali
| Variabile | Formato | Descrizione |
|---|---|---|
| http_proxy | http://proxy:8080 | Proxy per traffico HTTP |
| https_proxy | http://proxy:8080 | Proxy per traffico HTTPS |
| ftp_proxy | http://proxy:8080 | Proxy per traffico FTP |
| no_proxy | localhost,127.0.0.1,.local | Indirizzi senza proxy (esclusioni) |
| HTTP_PROXY | http://proxy:8080 | Duplica http_proxy (maiuscolo) |
| HTTPS_PROXY | http://proxy:8080 | Duplica https_proxy (maiuscolo) |
Impostazione temporanea (sessione corrente)
export http_proxy="http://192.168.1.100:8080"
export https_proxy="http://192.168.1.100:8080"
export ftp_proxy="http://192.168.1.100:8080"
export no_proxy="localhost,127.0.0.1,*.local"
# Duplicazione in maiuscolo per compatibilità
export HTTP_PROXY="http://192.168.1.100:8080"
export HTTPS_PROXY="http://192.168.1.100:8080"
export FTP_PROXY="http://192.168.1.100:8080"
export NO_PROXY="localhost,127.0.0.1,*.local"
Queste variabili saranno attive solo nella sessione del terminale corrente.
Con autenticazione
export http_proxy="http://username:password@192.168.1.100:8080"
export https_proxy="http://username:password@192.168.1.100:8080"
⚠️ Se la password contiene caratteri speciali, utilizzare la codifica URL: @ → %40, : → %3A
Verifica delle variabili impostate
# Mostra tutte le variabili proxy
env | grep -i proxy
# Verifica una variabile specifica
echo $http_proxy
echo $https_proxy
Disabilitazione del proxy
unset http_proxy
unset https_proxy
unset ftp_proxy
unset HTTP_PROXY
unset HTTPS_PROXY
unset FTP_PROXY
🌍 Configurazione a livello di sistema (/etc/environment)
Il file /etc/environment contiene le variabili d'ambiente di sistema che vengono applicate a tutti gli utenti e caricate all'avvio del sistema.
Configurazione di sistema permanente
Passo 1: Modifica del file
sudo nano /etc/environment
Passo 2: Aggiunta delle variabili
Aggiungi le seguenti righe alla fine del file:
http_proxy="http://192.168.1.100:8080"
https_proxy="http://192.168.1.100:8080"
ftp_proxy="http://192.168.1.100:8080"
no_proxy="localhost,127.0.0.1,*.local"
HTTP_PROXY="http://192.168.1.100:8080"
HTTPS_PROXY="http://192.168.1.100:8080"
FTP_PROXY="http://192.168.1.100:8080"
NO_PROXY="localhost,127.0.0.1,*.local"
Passo 3: Applicazione delle modifiche
# Riavvio del sistema (consigliato)
sudo reboot
# Oppure applica alla sessione corrente
source /etc/environment
💡 Suggerimento: Il file /etc/environment non supporta la sostituzione di variabili o l'espansione dei comandi. Utilizzare solo valori semplici. Per una logica più complessa, utilizzare /etc/profile o /etc/bash.bashrc.
🐧 Configurazione in Ubuntu/Debian
Ubuntu e Debian sono le distribuzioni Linux più popolari. Vediamo sia la configurazione tramite GUI (per le versioni desktop) sia tramite riga di comando (per i server).
🎨 Tramite GUI (Ubuntu Desktop)
Impostazioni GNOME
- Apri Impostazioni (Settings)
- Seleziona Rete (Network)
- Fai clic sull'icona dell'ingranaggio accanto alla connessione
- Scheda Proxy
- Seleziona Manuale (Manual)
- Inserisci indirizzo e porta per HTTP, HTTPS, FTP, Socks
- Fai clic su Applica (Apply)
⌨️ Tramite riga di comando
gsettings (per GNOME)
gsettings set org.gnome.system.proxy mode 'manual'
gsettings set org.gnome.system.proxy.http host '192.168.1.100'
gsettings set org.gnome.system.proxy.http port 8080
🔴 Configurazione in CentOS/RHEL
CentOS e Red Hat Enterprise Linux utilizzano una struttura di configurazione simile. Nel 2025, molti stanno passando a Rocky Linux e AlmaLinux, dove si applicano gli stessi principi.
Configurazione di sistema per RHEL-based
Metodo 1: /etc/profile.d/
Crea un file per le impostazioni del proxy:
sudo nano /etc/profile.d/proxy.sh
Aggiungi il contenuto:
#!/bin/bash
export http_proxy="http://192.168.1.100:8080"
export https_proxy="http://192.168.1.100:8080"
export ftp_proxy="http://192.168.1.100:8080"
export no_proxy="localhost,127.0.0.1,*.local"
export HTTP_PROXY="http://192.168.1.100:8080"
export HTTPS_PROXY="http://192.168.1.100:8080"
export FTP_PROXY="http://192.168.1.100:8080"
export NO_PROXY="localhost,127.0.0.1,*.local"
Rendi il file eseguibile: sudo chmod +x /etc/profile.d/proxy.sh
Metodo 2: /etc/environment
Lo stesso metodo utilizzato per Ubuntu/Debian: modifica /etc/environment
📦 Configurazione di APT tramite proxy
Importante: APT (Advanced Package Tool) in Ubuntu/Debian NON utilizza le variabili d'ambiente di sistema automaticamente. È necessaria una configurazione separata per funzionare tramite proxy.
Configurazione del proxy per APT
Metodo 1: apt.conf.d/ (consigliato)
Crea un file di configurazione:
sudo nano /etc/apt/apt.conf.d/02proxy
Aggiungi il contenuto:
Acquire::http::Proxy "http://192.168.1.100:8080";
Acquire::https::Proxy "http://192.168.1.100:8080";
Acquire::ftp::Proxy "http://192.168.1.100:8080";
Con autenticazione
Acquire::http::Proxy "http://username:password@192.168.1.100:8080";
Acquire::https::Proxy "http://username:password@192.168.1.100:8080";
Metodo 2: Configurazione temporanea (un comando)
sudo apt-get -o Acquire::http::proxy="http://192.168.1.100:8080" update
Si applica solo al comando apt corrente.
Verifica delle impostazioni APT
# Mostra le impostazioni APT correnti
apt-config dump | grep -i proxy
# Test di aggiornamento tramite proxy
sudo apt-get update
Esclusioni (nessun proxy per alcuni host)
Acquire::http::Proxy "http://192.168.1.100:8080";
Acquire::http::Proxy::ppa.launchpad.net "DIRECT";
"DIRECT" significa connessione diretta senza proxy per l'host specificato.
📦 Configurazione di YUM/DNF tramite proxy
YUM (per CentOS 7 e precedenti) e DNF (per CentOS 8+, Fedora, Rocky Linux, AlmaLinux) sono gestori di pacchetti per distribuzioni basate su Red Hat. Anche loro richiedono una configurazione proxy separata.
Configurazione globale YUM/DNF
YUM (CentOS 7 e precedenti)
Modifica il file di configurazione:
sudo nano /etc/yum.conf
Aggiungi nella sezione [main]:
[main]
proxy=http://192.168.1.100:8080
proxy_username=your_username
proxy_password=your_password
Se il proxy non richiede autenticazione, ometti proxy_username e proxy_password.
DNF (CentOS 8+, Fedora, Rocky Linux, AlmaLinux)
Modifica il file di configurazione:
sudo nano /etc/dnf/dnf.conf
Aggiungi nella sezione [main]:
[main]
proxy=http://192.168.1.100:8080
proxy_username=your_username
proxy_password=your_password
Configurazione per un repository specifico
È possibile configurare il proxy solo per un repository specifico nei file /etc/yum.repos.d/*.repo:
[epel]
name=Extra Packages for Enterprise Linux 8
baseurl=https://download.fedoraproject.org/pub/epel/8/$basearch
proxy=http://192.168.1.100:8080
proxy_username=username
proxy_password=password
Disabilitazione del proxy per un repository specifico
[local-repo]
name=Local Repository
baseurl=http://192.168.1.50/repo
proxy=_none_
proxy=_none_ disabilita il proxy per questo repository.
Verifica delle impostazioni
# Per YUM
sudo yum repolist
# Per DNF
sudo dnf repolist
# Mostra la configurazione
sudo dnf config-manager --dump | grep -i proxy
👤 Configurazione in .bashrc e .profile
Per le impostazioni proxy specifiche dell'utente, che si applicano solo a quell'utente, utilizzare i file .bashrc o .profile nella directory home.
Configurazione specifica dell'utente
Modifica di .bashrc
nano ~/.bashrc
Aggiungi alla fine del file:
# Proxy settings
export http_proxy="http://192.168.1.100:8080"
export https_proxy="http://192.168.1.100:8080"
export ftp_proxy="http://192.168.1.100:8080"
export no_proxy="localhost,127.0.0.1,*.local"
export HTTP_PROXY=$http_proxy
export HTTPS_PROXY=$https_proxy
export FTP_PROXY=$ftp_proxy
export NO_PROXY=$no_proxy
Applica le modifiche:
source ~/.bashrc
Creazione di funzioni per la gestione del proxy
# Funzione per abilitare il proxy
proxy_on() {
export http_proxy="http://192.168.1.100:8080"
export https_proxy="http://192.168.1.100:8080"
export HTTP_PROXY=$http_proxy
export HTTPS_PROXY=$https_proxy
echo "Proxy abilitato"
}
# Funzione per disabilitare il proxy
proxy_off() {
unset http_proxy https_proxy HTTP_PROXY HTTPS_PROXY
echo "Proxy disabilitato"
}
# Funzione per controllare lo stato del proxy
proxy_status() {
echo "http_proxy: $http_proxy"
echo "https_proxy: $https_proxy"
}
Utilizzo: proxy_on, proxy_off, proxy_status
🛠️ Configurazione per applicazioni (curl, wget, git)
Alcune utility popolari hanno i propri modi per configurare il proxy o file di configurazione dedicati.
📡 curl
curl utilizza le variabili d'ambiente, ma è possibile specificare il proxy anche nei parametri:
curl -x http://192.168.1.100:8080 https://example.com
# Con autenticazione
curl -x http://user:pass@192.168.1.100:8080 https://example.com
# Tramite .curlrc
echo 'proxy = "http://192.168.1.100:8080"' >> ~/.curlrc
📥 wget
wget utilizza anch'esso le variabili d'ambiente, ma ha un file di configurazione:
# ~/.wgetrc
http_proxy = http://192.168.1.100:8080
https_proxy = http://192.168.1.100:8080
use_proxy = on
🔧 git
Git ha il proprio sistema di configurazione proxy:
# Globale per tutti i repository
git config --global http.proxy http://192.168.1.100:8080
git config --global https.proxy http://192.168.1.100:8080
# Per un repository specifico
git config http.proxy http://192.168.1.100:8080
# Disabilitare il proxy
git config --global --unset http.proxy
git config --global --unset https.proxy
🐳 Docker
Docker richiede la configurazione del proxy per il daemon e il client:
# /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=http://192.168.1.100:8080"
Environment="HTTPS_PROXY=http://192.168.1.100:8080"
Environment="NO_PROXY=localhost,127.0.0.1"
🎁 ProxyCove — proxy professionali per Linux: Piena compatibilità con tutte le distribuzioni, supporto per whitelist IP e autenticazione, compatibilità con qualsiasi applicazione. Registrati → e ottieni +$1.3 con il codice promozionale ARTHELLO
La parte finale è in arrivo!
Nella parte conclusiva: file PAC, configurazione automatica, troubleshooting dei problemi tipici e conclusioni.
File PAC, configurazione automatica e troubleshooting — Finale
In questa parte finale: Guida completa ai file PAC (Proxy Auto-Configuration), al protocollo WPAD per la scoperta automatica del proxy, alla diagnostica e alla risoluzione dei problemi tipici del proxy in Windows e Linux. Raccomandazioni finali e migliori pratiche per il 2025.
📑 Sommario della parte finale
📜 Cosa sono i file PAC
PAC (Proxy Auto-Configuration) è un file JavaScript che determina automaticamente quale server proxy utilizzare per un URL specifico. Ciò consente di creare regole di routing del traffico flessibili senza dover configurare manualmente ogni client.
Vantaggi dei file PAC
✅ Flessibilità
Proxy diversi per siti diversi, accesso diretto alle risorse locali, tolleranza ai guasti con più proxy.
✅ Centralizzazione
Una singola modifica al file PAC viene applicata a tutti i client senza riconfigurare ogni computer.
✅ Logica basata su condizioni
Scelta del proxy in base a dominio, sottorete IP, ora del giorno, giorno della settimana e altri fattori.
✅ Prestazioni
Bilanciamento del carico tra più server proxy, commutazione automatica in caso di inaccessibilità del proxy principale.
Quando usare i file PAC
- Reti aziendali — proxy diversi per risorse interne ed esterne
- Routing complesso — proxy diversi per diversi paesi o servizi
- Ridondanza — commutazione automatica su proxy di backup in caso di guasto del principale
- Ottimizzazione — instradamento del traffico sul percorso più efficiente
💻 Sintassi e struttura dei file PAC
Un file PAC è un file di testo con estensione .pac contenente la funzione JavaScript FindProxyForURL(url, host).
Struttura di base
function FindProxyForURL(url, host) {
// La tua logica qui
// Restituisce una stringa con le impostazioni del proxy
return "PROXY proxy.example.com:8080";
}
Parametri della funzione
| Parametro | Descrizione | Esempio |
|---|---|---|
| url | L'URL completo richiesto dal browser | https://example.com/page |
| host | Solo il nome di dominio dall'URL | example.com |
Valori di ritorno
| Valore | Descrizione |
|---|---|
DIRECT |
Connessione diretta senza proxy |
PROXY host:port |
Proxy HTTP/HTTPS |
SOCKS host:port |
Proxy SOCKS (v4/v5) |
SOCKS5 host:port |
SOCKS5 esplicito |
PROXY p1:8080; PROXY p2:8080; DIRECT |
Opzioni multiple (fallback) |
Funzioni PAC integrate
| Funzione | Descrizione |
|---|---|
isPlainHostName(host) |
Verifica se l'host è un nome semplice (senza punti) |
dnsDomainIs(host, domain) |
Verifica se l'host appartiene a un dominio |
localHostOrDomainIs(host, domain) |
Confronta l'host con il dominio |
isResolvable(host) |
Verifica se l'host è risolvibile tramite DNS |
isInNet(host, pattern, mask) |
Verifica se l'IP è in una sottorete |
shExpMatch(str, pattern) |
Corrispondenza con pattern (* e ?) |
weekdayRange(day1, day2) |
Verifica del giorno della settimana |
dateRange(...) |
Verifica del range di date |
timeRange(...) |
Verifica dell'ora del giorno |
📚 Esempi pratici di file PAC
Esempio 1: Proxy semplice per tutte le richieste
function FindProxyForURL(url, host) {
return "PROXY proxy.company.com:8080";
}
Esempio 2: Nessun proxy per gli indirizzi locali
function FindProxyForURL(url, host) {
// Host locali — connessione diretta
if (isPlainHostName(host) ||
dnsDomainIs(host, ".local") ||
isInNet(host, "192.168.0.0", "255.255.0.0") ||
isInNet(host, "10.0.0.0", "255.0.0.0") ||
host == "localhost" ||
host == "127.0.0.1")
{
return "DIRECT";
}
// Tutto il resto tramite proxy
return "PROXY proxy.company.com:8080";
}
Esempio 3: Proxy diversi per domini diversi
function FindProxyForURL(url, host) {
// Social network tramite proxy speciale
if (shExpMatch(host, "*.facebook.com") ||
shExpMatch(host, "*.twitter.com") ||
shExpMatch(host, "*.instagram.com"))
{
return "PROXY social-proxy.company.com:8080";
}
// Streaming video tramite altro proxy
if (shExpMatch(host, "*.youtube.com") ||
shExpMatch(host, "*.netflix.com"))
{
return "PROXY video-proxy.company.com:8080";
}
// Risorse locali direttamente
if (isInNet(host, "10.0.0.0", "255.0.0.0"))
{
return "DIRECT";
}
// Tutto il resto tramite proxy principale
return "PROXY main-proxy.company.com:8080";
}
Esempio 4: Tolleranza ai guasti con fallback
function FindProxyForURL(url, host) {
// Indirizzi locali senza proxy
if (isPlainHostName(host) ||
isInNet(host, "192.168.0.0", "255.255.0.0"))
{
return "DIRECT";
}
// Tentativo tramite proxy principale, poi di backup, poi diretto
return "PROXY proxy1.company.com:8080; " +
"PROXY proxy2.company.com:8080; " +
"DIRECT";
}
Il browser tenterà di connettersi tramite proxy1, se non riesce tramite proxy2, e se anche questo fallisce, tenterà una connessione diretta.
Esempio 5: Routing dipendente dall'orario
function FindProxyForURL(url, host) {
// Durante l'orario lavorativo (8:00-18:00) e nei giorni feriali
if (weekdayRange("MON", "FRI") &&
timeRange(8, 18))
{
return "PROXY work-proxy.company.com:8080";
}
// Sera e weekend, un altro proxy
return "PROXY night-proxy.company.com:8080";
}
Esempio 6: Configurazione aziendale complessa
function FindProxyForURL(url, host) {
// Host locali senza proxy
if (isPlainHostName(host) ||
dnsDomainIs(host, ".local") ||
dnsDomainIs(host, ".company.com") ||
isInNet(host, "10.0.0.0", "255.0.0.0") ||
isInNet(host, "172.16.0.0", "255.240.0.0") ||
isInNet(host, "192.168.0.0", "255.255.0.0") ||
host == "localhost" ||
host == "127.0.0.1")
{
return "DIRECT";
}
// Traffico HTTPS tramite proxy SSL dedicato
if (url.substring(0, 6) == "https:")
{
return "PROXY ssl-proxy.company.com:8443; DIRECT";
}
// Contenuti multimediali tramite proxy di caching
if (shExpMatch(url, "*.mp4") ||
shExpMatch(url, "*.mp3") ||
shExpMatch(url, "*.jpg") ||
shExpMatch(url, "*.png"))
{
return "PROXY cache-proxy.company.com:3128";
}
// HTTP tramite proxy principale con failover
return "PROXY proxy1.company.com:8080; " +
"PROXY proxy2.company.com:8080; " +
"DIRECT";
}
🚀 Distribuzione dei file PAC
Dopo aver creato il file PAC, è necessario posizionarlo correttamente e configurare i client per utilizzarlo.
Posizionamento del file PAC
1. Web server (HTTP/HTTPS)
Posiziona il file proxy.pac sul web server:
http://proxy.company.com/proxy.pac
https://proxy.company.com/proxy.pac
⚠️ Il tipo MIME deve essere: application/x-ns-proxy-autoconfig
2. File system (file://)
# Windows
file:///C:/proxy.pac
file://\\server\share\proxy.pac
# Linux
file:///etc/proxy.pac
Sconsigliato per ambienti di produzione, ma utile per i test.
Configurazione del tipo MIME in Apache
# In httpd.conf o .htaccess
AddType application/x-ns-proxy-autoconfig .pac
Configurazione del tipo MIME in Nginx
# In nginx.conf
types {
application/x-ns-proxy-autoconfig pac;
}
Configurazione dei client
Windows
Impostazioni → Rete e Internet → Proxy → "Usa script di configurazione" → Inserisci l'URL del file PAC
Linux (GNOME)
gsettings set org.gnome.system.proxy mode 'auto'
gsettings set org.gnome.system.proxy autoconfig-url 'http://proxy.company.com/proxy.pac'
Firefox
Impostazioni → Rete → Configura → Configurazione automatica del proxy → URL di auto-configurazione
🔍 WPAD — Scoperta automatica del proxy
WPAD (Web Proxy Auto-Discovery Protocol) è un protocollo che consente ai browser di trovare automaticamente il file PAC. Nel 2025 è supportato da tutti i principali browser e sistemi operativi.
Come funziona WPAD
- Metodo DHCP: Il client richiede l'opzione 252 al server DHCP, che restituisce l'URL del file PAC
- Metodo DNS: Il client tenta di trovare l'host
wpad.domain.comtramite DNS - Caricamento PAC: Se trovato, il client tenta di caricare
http://wpad.domain.com/wpad.dat
Configurazione WPAD tramite DNS
Crea un record DNS A o CNAME:
wpad.company.com. IN A 192.168.1.100
# oppure
wpad.company.com. IN CNAME proxy-server.company.com.
Posiziona il file PAC all'indirizzo: http://wpad.company.com/wpad.dat
Configurazione WPAD tramite DHCP
Nel file di configurazione del server DHCP, aggiungi l'opzione 252:
# ISC DHCP (dhcpd.conf)
option wpad code 252 = text;
option wpad "http://proxy.company.com/proxy.pac";
⚠️ Problemi di sicurezza WPAD
- WPAD hijacking: Un attaccante può sostituire la risposta WPAD e reindirizzare il traffico attraverso il proprio proxy
- DNS spoofing: Sostituzione del record DNS di wpad.domain.com
- Raccomandazione: Utilizzare WPAD solo in reti aziendali fidate
- Alternativa: Specificare esplicitamente l'URL del file PAC è più sicuro del rilevamento automatico
🔧 Troubleshooting: diagnostica dei problemi
Problemi comuni e soluzioni
Problema 1: Il proxy non funziona
Sintomi: I siti web non si aprono, errori di connessione
Soluzioni:
- Verifica la raggiungibilità del server proxy:
ping proxy-host - Verifica la porta:
telnet proxy-host 8080onc -zv proxy-host 8080 - Assicurati che il proxy non sia bloccato dal firewall
- Verifica l'indirizzo e la porta corretti nelle impostazioni
Problema 2: Errore 407 (Proxy Authentication Required)
Sintomi: Richiesta di autenticazione, codice di errore 407
Soluzioni:
- Verifica la correttezza di username e password
- Assicurati di utilizzare il formato corretto:
http://user:pass@proxy:port - Verifica che le credenziali non siano scadute
- Per l'autenticazione basata su IP: assicurati che il tuo IP sia nella whitelist
- Verifica che il tuo indirizzo IP esterno non sia cambiato
Problema 3: Lentezza tramite proxy
Sintomi: Caricamento lento delle pagine, timeout
Soluzioni:
- Verifica la velocità del proxy:
curl -x proxy:port -w "@curl-format.txt" https://example.com - Prova un altro server proxy (se disponibile)
- Verifica il carico sul server proxy
- Assicurati di non utilizzare il proxy per risorse locali (aggiungi esclusioni)
- Controlla le impostazioni DNS (un DNS lento può rallentare il proxy)
Problema 4: Il file PAC non funziona
Sintomi: La configurazione automatica non viene applicata
Soluzioni:
- Verifica la raggiungibilità del file PAC: aprilo nel browser
- Assicurati che il tipo MIME sia corretto:
application/x-ns-proxy-autoconfig - Verifica la sintassi JavaScript nel file PAC
- Utilizza strumenti di test PAC: pactester (Linux) o DevTools del browser
- Verifica la presenza di cache: svuota la cache del browser
🧪 Test del proxy
Strumenti di test
Verifica della connessione (curl)
# Verifica proxy HTTP
curl -x http://proxy:8080 -I https://www.google.com
# Con autenticazione
curl -x http://user:pass@proxy:8080 https://www.google.com
# Mostra IP esterno (verifica che il proxy funzioni)
curl -x http://proxy:8080 https://ifconfig.me
curl -x http://proxy:8080 https://api.ipify.org
Verifica della porta (netcat)
# Linux
nc -zv proxy-host 8080
# Windows (PowerShell)
Test-NetConnection -ComputerName proxy-host -Port 8080
Test del file PAC (Linux)
# Installazione di pactester
sudo apt-get install libpacparser1 # Ubuntu/Debian
# Test del file PAC
pactester -p /path/to/proxy.pac -u https://www.google.com
Verifica delle impostazioni correnti (Windows PowerShell)
# Mostra le impostazioni proxy correnti
Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" | Select-Object ProxyEnable, ProxyServer, AutoConfigURL
# Mostra proxy WinHTTP
netsh winhttp show proxy
Strumenti online
- whatismyip.com — verifica del tuo IP esterno
- ifconfig.me — mostra l'IP in formato console
- browserleaks.com/proxy — informazioni dettagliate sul proxy
- ipleak.net — verifica perdite DNS, WebRTC
🔒 Sicurezza nell'uso dei proxy
Raccomandazioni di sicurezza
✅ Usa proxy HTTPS
I proxy HTTPS crittografano i dati tra il client e il server proxy, proteggendo dall'intercettazione del traffico.
✅ Non salvare le password in chiaro
Utilizza gestori di password, variabili d'ambiente o file di configurazione crittografati.
✅ Verifica i certificati
Quando usi un proxy MITM, assicurati di fidarti del certificato root del server proxy.
✅ Minimizza le perdite DNS
Utilizza DNS-over-HTTPS o configura le richieste DNS tramite il proxy per prevenire perdite.
❌ Cosa evitare
- Non utilizzare proxy pubblici gratuiti per dati sensibili
- Non ignorare gli avvisi sui certificati SSL
- Non salvare le password del proxy in chiaro nella cronologia dei comandi (usa uno spazio prima del comando in bash)
- Non utilizzare proxy HTTP senza crittografia per trasmettere password
🎯 Migliori pratiche 2025
1️⃣ Scegli il tipo di proxy corretto
Per parsing e web scraping: Proxy residenziali o mobili
Per reti aziendali: Proxy datacenter con whitelist IP
Per aggirare i blocchi geografici: Proxy residenziali del paese desiderato
2️⃣ Usa file PAC per routing complesso
I file PAC sono ideali per reti aziendali dove diverse risorse richiedono proxy diversi. Offrono gestione centralizzata e flessibilità.
3️⃣ Imposta le esclusioni
Gli indirizzi locali (localhost, 127.0.0.1, sottoreti private) non dovrebbero passare attraverso il proxy. Questo velocizza l'accesso alle risorse locali.
4️⃣ Implementa la tolleranza ai guasti
Nei file PAC, utilizza opzioni di fallback: più proxy con possibilità di connessione diretta in caso di inaccessibilità di tutti i proxy.
5️⃣ Monitoraggio e logging
Verifica regolarmente il funzionamento dei proxy, monitora la velocità di connessione e la disponibilità. Registra gli errori per una risposta rapida.
6️⃣ Documenta la configurazione
Crea una documentazione che descriva tutte le impostazioni del proxy, i file PAC, le esclusioni e le procedure di ripristino. Questo ti farà risparmiare tempo durante il troubleshooting.
📝 Conclusioni e raccomandazioni
Riepilogo della serie di articoli
Windows
In Windows, utilizza la GUI per le impostazioni semplici, PowerShell per l'automazione e il registro di sistema per la configurazione dettagliata. Le variabili d'ambiente sono necessarie per le utility da console.
Linux
In Linux, il metodo principale sono le variabili d'ambiente in /etc/environment o ~/.bashrc. Non dimenticare la configurazione separata per APT e YUM/DNF.
File PAC
I file PAC offrono la massima flessibilità per scenari complessi. Utilizzali negli ambienti aziendali e per il routing intelligente del traffico.
Troubleshooting
La maggior parte dei problemi si risolve verificando la raggiungibilità del proxy, la correttezza delle credenziali e le impostazioni. Utilizza curl, netcat e i DevTools del browser per la diagnostica.
🏆 ProxyCove — La tua scelta ideale
Copertura globale
195+ paesi
Alta velocità
Fino a 10 Gbps
Sicurezza
IP + Login/Pass
Supporto 24/7
In italiano
Prezzi accessibili
Da $1.5/GB
API
Integrazione completa
Pronto per iniziare a lavorare con proxy professionali?
Registrati su ProxyCove, ricarica il tuo saldo con il codice promozionale ARTHELLO e ricevi un bonus di $1.3!